6
我需要獲取View對象的當前onClickListener - 和其他類型的偵聽器 - 以便安裝一個新的代理 - onClickListener,它將完成一些工作,然後轉發呼叫給原來的聽衆。獲取Android視圖對象的當前onClickListener
非常感謝!
我需要獲取View對象的當前onClickListener - 和其他類型的偵聽器 - 以便安裝一個新的代理 - onClickListener,它將完成一些工作,然後轉發呼叫給原來的聽衆。獲取Android視圖對象的當前onClickListener
非常感謝!
你只需要有點創意!
就做這樣的事情:
子類View.OnClickListener
abstract class ProxyAbleClickListener implements OnClickListener {
Runnable ProxyAction;
@Override
public void onClick(View arg0) {
if (ProxyAction != null) {
ProxyAction.run();
}
}
public void setProxyAction(Runnable proxyAction) {
ProxyAction = proxyAction;
}
}
/* Somwhere in your code ! */
YourView view = new Button(context);
view.setOnClickListener(new ProxyAbleClickListener() {
public void onClick(View arg0) {
// Insert onClick Code here
super.onClick(arg0);
}
});
ProxyAbleClickListener listener = (ProxyAbleClickListener) view.getOnClickListener();
listener.setProxyAction(new Runnable() {
@Override
public void run() {
// Insert your proxy code here..
}
});
確保有一個子類照片喜歡YourView,它覆蓋setOnClickListener並保持一個參考聽者getOnClickListner訪問..
我還沒有以任何方式測試這個代碼,把它當作你需要做的僞代碼。
我希望這會了解你的幾件事情:)
在這一點上,爲什麼不乾脆讓你的代理onClickListener你onClickListener? – Otra
在Android視圖中[getOnClickListener()可能的重複](http://stackoverflow.com/questions/11186960/getonclicklistener-in-android-views) –