Расширяемое представление списка Дочерний щелчок Слушатель

У меня довольно простой вопрос. В моем диалоговом окне, содержащем расширяемый список, когда я щелкаю дочерний элемент, я хочу выполнить некоторые действия и вернуться к действию. Мои события кликов setOnChildClickListener() и setOnGroupClickListener() все работают, но мой диалог предупреждений не закрывается. Я хочу закрыть свой диалог предупреждений при щелчке ребенка по списку и вернуться к своей деятельности. Кто-нибудь может помочь?

Код:

final AlertDialog.Builder builder = new AlertDialog.Builder(
                    TestActivity.this);

        ExpandableListView dialogExpandableListView = new ExpandableListView(
                this);
        dialogExpandableListView
                .setAdapter(new EfficienctExpandableAdapter(
                        this));
        dialogExpandableListView
                .setOnChildClickListener(new ExpandableListView.OnChildClickListener() {

                    @Override
                    public boolean onChildClick(ExpandableListView arg0,
                            View arg1, int arg2, int arg3, long arg4) {
                        // TODO Auto-generated method stub

                        Log.d("skt", "clicked parent " + arg2 + " child "
                                + arg3);

                        return false;
                    }
                });

        dialogExpandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {

            @Override
            public boolean onGroupClick(ExpandableListView arg0, View arg1, int arg2,
                    long arg3) {
                // TODO Auto-generated method stub

                Log.d("skt", "group click --- clicked parent " + arg2);
                return false;
            }
        });

        builder.setView(dialogExpandableListView);

        builder.create();
        builder.show();

person SKT    schedule 02.08.2012    source источник
comment
опубликуйте код.. будет полезно узнать, что вы делаете   -  person vinothp    schedule 02.08.2012


Ответы (1)


Я думаю, вы начали показывать Alertdialog здесь

    builder.setView(dialogExpandableListView); 
    builder.create();
    builder.show();

Но вы нигде не отменяли alertView.

Попробуйте отменить alertView здесь

 @Override
                public boolean onChildClick(ExpandableListView arg0,
                        View arg1, int arg2, int arg3, long arg4) {
                 Log.d("skt", "clicked parent " + arg2 + " child "
                             + arg3);
                 builder.cancel();
                 //or
                 builder.dismiss();
                 return false;

   }

Надеюсь, поможет

person vinothp    schedule 02.08.2012
comment
Я уже пробовал это. В нем говорится сделать приведение к DialogInterface. Когда я это делаю, я получаю ClassCastException ((DialogInterface) builder).dismiss(); это то, что я сделал ... вы пытались сделать это? - person SKT; 02.08.2012
comment
Я тестировал, и это не сработало. Если вы найдете способ заставить его работать, пожалуйста, обновите. - person SKT; 02.08.2012