Переопределение методов прослушивания кликов в Android

Класс интерфейса:

    public interface CustomDialogMethods {

        public void btn_yes();
        public void btn_no();
    }

MainActivity реализует из CustomDialogMethods, что оно должно переопределять пользовательские кнопки "okey" и "методы отмены";

    public class MainActivity extends Activity implements CustomDialogMethods {

    @Override
        public void btn_yes() {
            // TODO Auto-generated method stub

        }
    @Override
        public void btn_no() {
            // TODO Auto-generated method stub

        }
}

и мой пользовательский Диалог-класс, у него есть кнопка ОК и отмена:

    public class CustomWorking extends Activity {

         void CustomDialogWorker(final Dialog dialog,int layout,int b_no,int b_yes) {

                dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
                dialog.setContentView(layout);

                Button dialogButton = (Button) dialog.findViewById(b_yes);    
                Button dialogButtonno = (Button) dialog.findViewById(b_no);        

                dialogButton.setOnClickListener(new OnClickListener() {
                    public void onClick(View v) {
                        dialog.dismiss();
                    }
                });
                dialogButtonno.setOnClickListener(new OnClickListener() {
                    public void onClick(View v) {
                        dialog.dismiss();
                    }
                });          

                dialog.show();           
            }

Каков наилучший способ переопределить мою кнопку "ОК" и кнопку "Отмена" в классе MainActivity с помощью методов интерфейса?

1 ответ

Решение

Передайте свой контекст в метод CustomDialogWorker и вызовите btn_yes() btn_no()

CustomDialogWorker(dialog,layout,b_no,b_yes, this)

ИЛИ ЖЕ

Добавьте этот код в ваш MainActivity

 listener = new CustomDialogMethods() {
        @Override
        public void btn_yes() {

        }

        @Override
        public void btn_no() {

        }
    };

передать слушателю

CustomDialogWorker(dialog,layout,b_no,b_yes, listner);

внутри метода CustomDialogWorker

триггерные методы

listner.btn_yes();
listener.btn_no();
Другие вопросы по тегам