2014-01-22 2 views
0

Я создаю диалоговое окно после того, как App'sUser нажимает на кнопку, поэтому моя проблема: У меня есть мини-диалоговое меню с двумя элементами «Люкс» и «Vigor». Я хочу связать разные функции для Lux и Vigor, Возможно? Как я должен это делать?Связанный элемент Dialog по клику

Моя большая проблема заключается в идентификации события «Нажмите на Lux или Vigor» Спасибо за ваше время, Kings касается я отправляю мой код:

private final static int BUTTON_DIOALOG = 2; 
final CharSequence[] items ={"Lux", "Vigor"}; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    ImageButton immG = (ImageButton)this.findViewById(R.id.imageButton1); 
    immG.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
MainActivity.this.showDialog(BUTTON_DIOALOG);    
     } 
    }); 


} 
@Override 
protected Dialog onCreateDialog(final int id) { 
    Dialog dialog = null; 
    AlertDialog.Builder builder =new AlertDialog.Builder(this); 
switch (id){  
case BUTTON_DIOALOG: 
builder.setTitle("scegli cosa").setItems(items, new 
DialogInterface.OnClickListener() 
{        

@Override 
public void onClick(DialogInterface dialog, int which) { 


     } 
    }); 
} 
return dialog; 
}} 

ответ

0

Параметр «который» в обратный вызов говорит вам кнопка, которую вы нажали, которая ...

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    final CharSequence[] items ={"Lux", "Vigor"}; 
    builder.setItems(items, new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_LONG).show();    
     } 
    }); 
    builder.create().show(); 
+0

Теперь я пробую это решение, спасибо ElDuderino! –

+0

ElDurino, спасибо за вашу помощь, но возможно: -Когда пользователь нажимает на Lux, измените ImageButton ID? –

+0

Уверен, я просто не знаю, что вы имеете в виду с ImageButton ID ... – ElDuderino

1

вы можете сделать так:

final Context ctx = this; 
AlertDialog dialog = new AlertDialog.Builder(this).create(); 
dialog.setIcon(icon); 
dialog.setTitle(""); 
dialog.setMessage(""); 
dialog.setCancelable(false); 
dialog.setButton(DialogInterface.BUTTON_POSITIVE, "LUX", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int buttonId) { 

    } 
}); 
dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Vigor", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int buttonId) { 
    } 
}); 
dialog.show(); 
+0

Спасибо user3223875, где у меня есть ваш код? потому что это дает мне ошибку, код –

+0

Теперь вы понимаете? Вы можете создать метод и называть его там, где хотите. – apaaj

Смежные вопросы