私は小さなアンドロイドアプリを作っています。その中に、マルチチョイスの AlertDialog が必要です。しかし、カスタムボタンが必要です(ボタンをクリックすると非表示になり、この場所に別のボタンが表示されます)。わかった。しかし、カスタム ボタンをクリックしてすべての複数選択項目を true に設定しようとすると、その方法がわかりません。onclicklistener のカスタム ボタンには
public void onClick(DialogInterface dialog, int index, boolean status)
{
}
また、ダイアログ項目にアクセスする方法がわかりません。私の質問が明確であることを願っています)すべてのコードを追加します:
protected Dialog onCreateDialog(int id) {
// AlertDialog.Builder
adb = new AlertDialog.Builder(this);
// multichoice from array and array of checked items
adb.setTitle("Категории");
adb.setMultiChoiceItems(category, category_chkd,
new DialogInterface.OnMultiChoiceClickListener() {
public void onClick(DialogInterface dialog, int which,
boolean isChecked) {
}
});
// dialog buttons from category_buttons.xml
cat_view = (RelativeLayout) getLayoutInflater().inflate(
R.layout.category_buttons, null);
adb.setView(cat_view);
cat_fill_btn = (Button) cat_view
.findViewById(R.id.category_fill_button);
cat_clean_btn = (Button) cat_view
.findViewById(R.id.category_clean_button);
cat_ok_btn = (Button) cat_view.findViewById(R.id.category_ok_button);
//AlertDialog
alert = adb.create();
//button Ok
cat_ok_btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
alert.cancel();
}
});
// button to clear the list
cat_clean_btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
cat_fill_btn.setVisibility(View.VISIBLE);
}
});
// button to fill the list
cat_fill_btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
cat_fill_btn.setVisibility(View.INVISIBLE);
}
});
return alert;
}