5

私は小さなアンドロイドアプリを作っています。その中に、マルチチョイスの 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;

}
4

0 に答える 0