android - 按钮 setOnClickListener() 与 android :onclick

标签 android button

为了注册一个 OnClickListener,我总是在 Button 上调用 setOnClickListener(listener)。现在我看到了一段代码,其中通过使用 android:onclick="nameOfMethod" 并使用 View 参数实现该方法,在布局中定义了点击事件。

这两种添加OnClickListener的方式有区别吗?推荐哪一个?

最佳答案

在 XML 中绑定(bind)函数的 onClickonClick 和它调用的函数之间的绑定(bind)。为了使 onClick 起作用,该函数将只有一个参数。

OnClickListener 是任何类都可以实现的接口(interface)。由于它是任何类都可以实现的接口(interface),因此更加灵活。

如果需要,您可以轻松地将一个监听器实现替换为另一个。

OnClickListener 使您能够将点击事件的 Action /行为与触发该事件的 View 分开。虽然对于简单的情况这不是什么大问题,但对于复杂的事件处理,这可能意味着代码的可读性和可维护性更好

换句话说——

XML onClick 适用于 Java 代码中的一种固定实现。 OnClickListener 更适合更复杂的代码和多个按钮。但至于基本功能 - 它们都做完全相同的事情。

关于android - 按钮 setOnClickListener() 与 android :onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22172448/

相关文章:

android - Room DB升级需要编写完整的插入查询

安卓申请流程

javascript - 播放和暂停播放声音

java - 西蒙说按下按钮后按钮颜色不会恢复正常

android - 如何使用 dart/flutter 中的共享首选项保存和获取列表列表

html - 将简单的菜单插入到 css 中以用作网页标题

javascript - 单击时更改按钮图像并在 iframe 中显示结果,单击下一个按钮时,将原始按钮返回到第一个按钮

安卓-FragmentStatePagerAdapter : trigger swipe manually/disable swipe

c# - 如何在c#.net中动态创建的按钮上执行点击事件

android - 如何在 Android 中以编程方式打开和关闭切换按钮?