处理UI事件的最佳实践

Gai*_*ter 10 android event-driven-design android-layout

我已经在OnCreate()上放置了UI事件的所有绑定代码.它使我的OnCreate()变得巨大.

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

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

Dan*_*Dan 5

在1.6及更高版本中,您可以在布局XML文件中指定onClick方法来修剪一些脂肪.我通常只是在我的onCreate方法调用的initUi()方法中隐藏它.这样至少onCreate更容易阅读.


Abh*_*nav 5

我做的东西:

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

我想这仍然很基础,因为我还没有太多的Java经验.