3

我正在编写我的第一个 Android 应用程序,并且在处理上下文对象时遇到了一些问题。许多方法/构造函数似乎需要当前上下文(活动),这导致我的动作侦听器出现一些问题。我没有将所有的侦听器和处理程序作为活动类中的匿名类,而是为我想要处理的每个事件创建了类。例如按钮 buttonRegister 将被初始化为:

buttonRegister.setOnClickListener(new RegisterButtonClickAction());

但是,这样做时,我无法访问侦听器中的当前上下文对象。我可以将当​​前上下文作为构造函数参数移交,但我不确定这是否是最佳选择。在 Android 中创建处理程序/侦听器或使用上下文对象的“最佳实践”是什么?

谢谢,
b3n

4

1 回答 1

1

只需在处理程序的构造函数中传递当前上下文。

使用这样的事件处理程序可能会变得混乱。大多数时候,当你处理一些事件时——比如按下按钮——然后你想改变 Activity 中其他变量的状态(改变一些数据结构、像 TextView 这样的 UI 元素等等)。如果事件处理程序类在外部,您还必须为它可以修改的对象提供引用,可能在它的构造函数中。

我通常只使用匿名类,或者至少使用内部类,我认为这样更干净、更简单。

于 2010-10-15T07:41:54.587 回答