best practices for handling UI events
我已将UI事件的所有绑定代码放在OnCreate()上。它使我的OnCreate()变得非常庞大。
是否有在Android中实现UI事件的模式?我可以在View xml文件中添加方法,然后将所有处理程序代码放在其他位置。
简而言之,我想问的是如何使用android应用代码实现MVVM模式?
- 如果你们认为MVVM模式与我要问的是2件事不同,那就让我知道我会更新我的问题。
-
1;这更像是Java /事件驱动的编程问题。祝您一切顺利! :)
-
MVVM框架:code.google.com/p/android-binding
我从事的工作:
将所有onClick函数保留在XML中。避免了Java代码中的很多混乱情况。
将事件侦听器初始化为活动类的成员,而不是将其保留在函数中。我在代码中不喜欢太多花括号。把我弄糊涂了。
如果列表适配器太大,则将它们放在单独的类中,而不是作为活动类的成员,然后将所有视图侦听器保留在适配器中。
为了避免创建过多的onClick函数,有时我会保留一个函数,例如onNavigatonClick,然后使用view.getId()查看单击了哪个按钮。由于未检查XML的有效函数调用,因此如果您的函数名称错误,则会导致运行时错误。
如果特定的视图需要大量的UI交互代码,则可以使用GestureDetector创建一个自定义视图来处理UI交互。
我想这还是很基本的,因为我还没有Java的丰富经验。
在1.6及更高版本中,您可以在布局XML文件中指定onClick方法,以减少一些麻烦。我通常将其全部隐藏在调用onCreate方法的initUi()方法中。这样,至少onCreate更易于阅读。
- 您可以在以下链接上找到代码stackoverflow.com/questions/5848207/binding-events-on-oncrea te
已经有很多好的答案。 :)
如果您使用的是Android 1.6或更高版本,则可能会发现新的fragment API对将活动组织和划分为几个逻辑单元很有帮助。
onCreate通常是调用setContentView和设置侦听器的最佳位置,但是用于处理用户干扰的代码通常包含在onClick,onTouch,onKey等例程中。
也许如果您发布了代码,我们可以看到您做了什么?