【发布时间】:2010-11-06 23:06:25
【问题描述】:
我是 Android 新手,通常是事件驱动代码。我没有在我的 Activity 中嵌入大量匿名事件侦听器类来处理 onClick 事件等,而是定义了单独的类来保持代码整洁。然后我使用它们,例如像这样
myButton.setOnClickListener(new MyEventListener());
所以,当“myButton”被点击时,MyEventListener 的 onClick 方法会做一些事情。
我想知道
的最佳实践a) 从事件监听器访问我的 Activity 中的东西。例如更改标签的文本。 onClick 事件需要一个视图,但这是已单击按钮的视图,因此如果标签不是我的按钮的子级,我不能使用 findViewById 来获取它的句柄。我已经修改了构造函数以传入对标签的引用,以便事件有一个句柄,但不确定这是否是最优雅的方式。
b) 回传信息,例如当我的事件触发时,我可能想禁用一些 EditText 字段。我在想正确的方法可能是从我的事件侦听器中分派另一个事件,Activity 侦听该事件,当它看到该事件时,禁用相关字段。这是在 Android 中实现的方式吗?
希望有人能提供帮助,非常感谢。
谢谢
【问题讨论】:
标签: android events listener event-listener dispatch