最佳实践android:onClick XML属性还是setOnClickListener?

mar*_*_dk 21 android

我正在关注Google的Android教程并发现有两种方法可以根据标题获得小部件回调(或者只有onClick - 我不知道).

我是一名高级Java Swing开发人员,所以内部类方法让我有宾至如归的感觉:)但我明白xml方法更新 - 所以谷歌必须添加它是有原因的.

这是什么原因?如果现在避免使用内部类方法(在支持它的版本上),在Android平台上这样做是否"更好"?

gun*_*nar 20

我没有使用XML onClick属性,因为这意味着Activity膨胀XML必须实现onClick值方法.但是,如果您进行了一些重构并且更改了此方法,那么如果更改与XML无关,您将获得运行时异常.或者如果你想使用一些includemerge.

要添加更多内容:如果使用片段,则必须将click事件委派给定义onClickXML属性的片段.

它的代码确实较少,但是为了维护/重构这样的代码,它会使事情变得困难并且容易出错.所以不要在生产代码中使用它.


Sus*_*hil 0

您可以通过 xml 和编程方式定义按钮等小部件。Can 提供了以两种方式添加侦听器的功能。因此,两者之间没有任何优势。

如果您想从 xml 执行特定于布局的工作,android 已经为您提供了执行此操作的功能。

但是有人可能会以编程方式定义布局,然后必须从代码中定义点击侦听器。

但有些人混合使用它。

我希望你明白我的意思。

如果您以编程方式执行此操作,您可以只编写 onClick() 并在旁边编写一个 switch case,并根据视图 id 您可以定义我个人认为更容易使用的行为。