2014-08-26 6 views
0

интерфейс Класс:Переопределение методов Нажмите слушателем в Android

public interface CustomDialogMethods { 

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

MainActivity реализует с CustomDialogMethods он должен переопределить кнопку Окей таможни и отменяют методы;

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 

     } 
} 

и мой заказ Dialog Class, его есть ОКЕЙ и кнопка отмены:

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 с методами интерфейса?

ответ

0

Пройди свой контекст метода и запуска 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(); 
+0

thanksss, я решил свою проблему с первым способом .. – egente

+0

Вы можете принять мой ответ, если он помог вам :) – deniz