android - 处理 UI 事件的最佳实践

标签 android android-layout event-driven-design

我已将 UI 事件的所有绑定(bind)代码放在 OnCreate() 上。它使我的 OnCreate() 变大了。

在 android 中是否存在围绕实现 UI 事件的模式?我可以在 View xml 文件中添加方法,然后将所有处理程序代码放在其他地方吗?

简而言之,我想我是在问如何使用 Android 应用程序代码实现 MVVM 模式?

最佳答案

我做的事情:

  1. 在 XML 中保留所有 onClick 函数。避免了 Java 代码中的大量困惑。
  2. 将事件监听器初始化为 Activity 类的成员,而不是将它们保留在函数中。我不喜欢我的代码中有太多花括号。把我搞糊涂了。
  3. 如果我的列表适配器变得太大,我将它们放在一个单独的类中,而不是作为 Activity 类的成员,然后将所有 View 监听器保留在适配器中。
  4. 为了避免创建过多的 onClick 函数,我有时会保留一个函数,如 onNavigatonClick,然后使用 view.getId() 查看哪个按钮被点击。由于未检查 XML 是否存在有效的函数调用,因此如果您的函数名称错误,则会导致运行时错误。
  5. 如果特定 View 需要大量 UI 交互代码,我会创建一个带有 GestureDetector 的自定义 View 来处理 UI 交互。

我想这仍然是非常基础的,因为我还没有太多的 Java 经验。

关于android - 处理 UI 事件的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5851418/

相关文章:

android - 无法关闭/隐藏 Android 5.0 Lollipop 上的警报图标

android - 如何使用 AsyncStorage React Native 缓存 API 数据

android - HTML 输入字段 : Automatically display numeric input method

android - 三星 Note 布局问题

asynchronous - Node.js异步初始化问题

android - 带有预定义按钮的消息发送应用程序

android - 使用 AppCompat 获取 NullPointerException

android - 如何使用 WallpaperManager 将 Android 墙纸位图居中?

domain-driven-design - 具有副作用的事件溯源