AlertDialog с множественным выбором с пользовательским адаптером

Я пытаюсь создать AlertDialog с опцией множественного выбора.Я пробовал с setMultiChoiceItems, но у меня есть ArrayList, а не CharSequence, поэтому я попробовал с адаптером.

Проблема с setAdapterзаключается в том, что при выборе одного элемента он закрывает диалоговое окно. И что я хочу, так это выбрать элементы, а затем нажать кнопку OK, чтобы увидеть, какие элементы выбраны.

AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Pick a color");
        ArrayAdapter<Category> catsAdapter = new ArrayAdapter<Category>(this, android.R.layout.select_dialog_multichoice,this.categories);
        builder.setAdapter(catsAdapter, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int item) {

            }
        });
        builder.setPositiveButton("Save", new DialogInterface.OnClickListener() {
               @Override
               public void onClick(DialogInterface dialog, int which) {
                //do something  
               }                
        });;

        AlertDialog alert = builder.create();
        alert.show();
9
задан Jeshurun 28 July 2013 в 10:49
поделиться