今天就來看看如何傳送與監聽自定事件
首先定義一個 interface 把事件名稱與參數傳進去
當然也可以不傳參數啦
本例是把自定的組件傳出去
public interface OnBlahBlahBlahListener{
 public void onBlahBlahBlah(MyCustomView view);
}
接著在要傳送事件的自定組件裡定義一個事件實體成員
定義好監聽方法
並在需要時發送事件出去
public class MyCustomView extends View(){
 OnBlahBlahBlahListener mListener;
 .
 .
 public void setOnBlahBlahBlahListener(OnBlahBlahBlahListener eventListener) {
 mListener = eventListener;
 }
 .
 .
 if(mListener!=null) mListener.onBlahBlahBlah(this);
 .
 .
}
然後就可以用一般的方法在 activity 裡監聽這個自訂事件並處理了
myCustomView.setOnBlahBlahBlahListener(new OnBlahBlahBlahListener(){
 @Override
 public void onBlahBlahBlah(MyCustomView view) {
  //do something here
 }
});
以上
很簡單吧
 
 
沒有留言:
張貼留言