Переопределение методов прослушивания кликов в 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();