android模仿OnClickListener監聽事件寫的監聽回調方法

做天在寫一個自定義彈出框的時候發現,自定義彈出框類B.class中按鈕的觸發事件需要傳遞A.class類中的其他參數如下:

A.class類中的監聽事件:

 Intent intent = new Intent(this, PayActivity.class);
        Bundle args = new Bundle();
        args.putSerializable("aisle", aisle);
        args.putString("payType",payType);
        intent.putExtras(args);
        this.startActivity(intent);

所以想要在彈出框內操作並在A類中觸發響應,最終想到了接口回調,模仿源碼寫按鈕的監聽事件方法。

class B {

private OnClickLister onClickListener;

....

publick  interface OnClickListener{

void onClick(String tag);

}

public void setOnClickLister(OnClickLister mOnClickLister){

thi.onClickListener=mOnClickListener;

}

}

class A {

private B b;

....

b.setOnClickLister(new b.OnClickListener(){

@Override

publick void onClick(String tag){

//處理監聽時間吧

Intent intent = new Intent(this, PayActivity.class);
        Bundle args = new Bundle();
        args.putSerializable("aisle", aisle);
        args.putString("payType",payType);
        intent.putExtras(args);
        this.startActivity(intent);

}

});

}

好了,上面監聽回調程序是在GridView的監聽方法中,使用靈活,還可以使用觀察者模式等方法去實現,感興趣的同學可以嘗試多種方法實現。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章