【问题标题】:Android different way of doing onClickAndroid不同的onClick方式
【发布时间】:2015-05-20 18:49:49
【问题描述】:

我在这里浏览了一个项目,它有一种使用 onClick 的方式,这与我在其他任何时候看到的不同。

通常您在 onCreate 或其他期间为按钮设置侦听器。

在活动 xml 中,它有 android:onClick="navigateToUrl"。然后这似乎启动了类代码中的方法 navigateToUrl。

我只是想知道这两种方法有什么区别?

【问题讨论】:

标签: android


【解决方案1】:

它们的工作方式相同。在 xml 版本中,框架在膨胀期间添加了一个 onClickListener,它使用 Context 上的反射,通过查找具有该名称的函数来调用它并调用它。所以它的效率略低,但还不足以让人真正担心。最大的优点是 onCreate 不太混乱,最大的缺点是要弄清楚单击时视图的作用,您必须阅读 xml 而不是代码。您使用哪个是个人喜好问题。我目前在显式 onClickListener 组中,因为我不想拥有幕后魔术。

【讨论】:

  • 好的。起初把我扔了,不知道事情是如何工作的,或者为什么使用 go to 声明一直把我带到 xml。感谢您的回答。
【解决方案2】:

对于后者,您需要始终保留public 方法。如果您不想让您的方法公开可见,您希望实现一个侦听器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    相关资源
    最近更新 更多