ped*_*teo 6 java android android-widget
我需要获取View对象的当前onClickListener和其他类型的侦听器,以便安装新的proxy-onClickListener,它将执行一些工作,然后将调用转发给原始侦听器.
非常感谢!!!
小智 1
你只需要一点创意!
只需做这样的事情:
子类化 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..
}
});
Run Code Online (Sandbox Code Playgroud)
确保有一个像 YourView 这样的子类视图,它覆盖 setOnClickListener 并保留对侦听器的引用以通过 getOnClickListner 进行访问。
我尚未以任何方式测试此代码,请将其视为您需要执行的伪代码。
我希望这能让你学到一些东西:)
| 归档时间: |
|
| 查看次数: |
4071 次 |
| 最近记录: |