2017-07-14 10 views
0

複数の選択肢を作成する次のコードでダイアログを作成していますが、クリックイベントを追加するためにidを作成する方法がわかりません。私は..:ダイアログでセレクトリスナーを実装するIDを作成する

private void showDailog() { 
final String[] items = {" Blue", " Red", " Black", " White", " Pink"}; 
final ArrayList itemsSelected = new ArrayList(); 
AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setTitle("Select any theme you want : "); 
builder.setMultiChoiceItems(items, null, 
new DialogInterface.OnMultiChoiceClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int selectedItemId, 
boolean isSelected) { 
if (isSelected) { 

itemsSelected.add(selectedItemId); 
} else if (itemsSelected.contains(selectedItemId)) { 

itemsSelected.remove(Integer.valueOf(selectedItemId)); 
} 
} 
}) 
.setPositiveButton("Done!", new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int id) { 
//Your logic when OK button is clicked 
} 
}) 
.setNegativeButton("Cancel", new  DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int id) 
} 
}); 
dialog = builder.create(); 
dialog.show(); 
} 
+0

のようなカスタムレイアウトで簡単なダイアログを作成しますhttps://developer.android.com/reference/android/view/View.html#generateViewId())、同じ質問[ここ](https:// stackoverflow .com/a/21000252/2910520) – MatPag

答えて

0

代わりの警告ダイアログが表示され、 `` View.generateViewIdを()を使用することができ、IDS、[ここ]参照を(生成するには、この

Dialog dialog = new Dialog(MainActivity.this); 
    dialog.setContentView(R.layout.dialog_lauout); 
    dialog.show(); 
    Button button = (CheckBox) dialog.findViewById(R.id.button); 
    checkBox.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

     } 
    }); 
+0

dialog_layout.xmlのコードも教えていただけますか? – Niezwm

+0

あなたは好きなだけレイアウトを作る必要があります。 – Anmol

関連する問題