获得视图的倾听者

时间:2011-12-11 21:37:21

标签: java android

是否可以获取附加到视图的侦听器(如果存在)?例如,如果我有一个视图,我想获得正在监听该视图的监听器(如果存在一个

2 个答案:

答案 0 :(得分:1)

不,如果您使用OnClickListener,它在View中具有受保护的访问权限。只有子类可以授予对Listener字段的公共访问权限,但是没有框架类。另一方面,您完全有责任首先设置监听器,因此您可以设置自己的数据结构以在必要时跟踪该信息。

答案 1 :(得分:1)

我能找到的唯一方法是View.getOnFocusChangeListener()。因此,标准库View只会告诉您其OnFocusChangeListener;对于其他听众来说,没有这样的getter是类的一部分,所以如果你想引入它们,你可能需要继承View。

此外,还有一些方法可以告诉您是否在不返回侦听器的情况下将特定类型的侦听器附加到View,例如drag event listeneron click listener还是View已附加on long click listener。注意:其中一些方法可能有副作用,请查看相关文档。