实现OnClickListener的正确方法是什么

时间:2012-09-13 00:36:29

标签: android onclicklistener

有很多方法可以在Android中实现OnClickListener,我想知道是否有一种最佳实践或者更推荐的方式来实现其他方式(即:我记得读某些方法需要比其他方式更多的内存)?< / p>

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

  1. 让您的Activity实现OnClickListener接口。
  2. 内部类OnClickListener。
  3. 内联类OnClickListener。
  4. 在Button的XML定义中使用android:onClick属性。
  5. 在四个选项中,我倾向于XML实现,因为它似乎更清晰,其他人可以发表意见吗?

2 个答案:

答案 0 :(得分:2)

我不知道关于记忆效率,但这是我的方法。

  1. 我不喜欢它,如果您有多个按钮,则onClick内需要多个if-else(或切换)
  2. 如果第3个选项导致我的方法,例如onCreate()太大而且杂乱
  3. ,我会使用此方法
  4. 我最喜欢的。它允许你很容易地找出每个按钮的功能,但是如果onClick不是太长就会使用它,以保持代码可读
  5. 我几乎不使用它,它使代码更清晰,但我不习惯这个,因为我不在Java的SWING中使用它。
  6. 但是在底线上,就像@Lazy_Ninja所说,这一切都归结为味道。所有这四个都有效。

    我认为重要的是,在选择时,保持代码清洁和可读。

答案 1 :(得分:1)

这取决于。起初我曾经喜欢数字1(让你的Activity实现一个OnClickListener接口),因为源看起来很整洁。
但最后我决定使用2.Inner类OnClickListener,因为我发现它更容易阅读并且更容易实现,特别是如果你使用eclipse并知道自动完成的快捷方式 最后,我认为这取决于品味。