2

有这么多在 Android 中实现 OnClickListener 的方法,我想知道是否有最佳实践或更推荐的方法来完成它(即:我记得阅读某些方式需要比其他方式更多的内存)?

目前我知道实现 OnClickListener 的四种方法,它们是:

  1. 让您的 Activity 实现 OnClickListener 接口。
  2. 内部类 OnClickListener。
  3. 内联类 OnClickListener。
  4. 在 Button 的 XML 定义中使用 android:onClick 属性。

在这四个选项中,我倾向于 XML 实现,因为它看起来更简洁,其他人可以发表意见吗?

4

2 回答 2

2

我不知道内存效率,但这是我的方法。

  1. 我不喜欢它,onClick如果你有多个按钮,它需要多个 if-else(或 switch)
  2. 如果第三个选项导致我的方法太大,我会使用它,例如onCreate()太大和凌乱
  3. 我的最爱。它使您可以很容易地找出每个按钮的作用,但是如果它onClick不太长,我通常会使用它,以保持代码的可读性
  4. 我几乎不使用它,它使代码更干净,但我不习惯这个,因为我不在 Java 的 SWING 中使用它。

但归根结底,就像@Lazy_Ninja 所说,这一切都归结为品味。他们四个都有效。

我认为在选择时最重要的是保持代码的干净和可读性。

于 2012-09-13T00:50:41.750 回答
1

这要看情况。起初我喜欢数字 1(让你的 Activity 实现 OnClickListener 接口),因为这样源代码看起来很整洁。
但最后我还是选择了 2.Inner Class OnClickListener,因为我发现它更容易阅读,也更容易实现,特别是如果你使用 eclipse 并且知道自动完成的快捷方式。
最后,我认为这取决于口味。

于 2012-09-13T00:43:44.637 回答