我正在为体育应用设计一个Android用户界面。 该应用程序的一个功能是按钮和菜单项的文本更改为 游戏状态进展。所以你从设置游戏 - >从上半场开始 - >半个时间 - >下半场 - >按钮和菜单项文本更改以指示应用程序中的下一个有效操作。
现在到目前为止,我通过观察状态的全局变量并基本上在各种onCreate,onResume方法中检查它来做到这一点。至少对于按钮来说。不确定菜单项以及如何使它们动态化。
现在我认为在android中必须有更好的方法吗?在swing中你可能有一个modelchangelistener,你可以在你的视图中注册为它的监听器。 android中存在类似的东西吗?我也知道在Java中你可以做Observer模式,但我正在寻找内置于android中的东西。我想这种情况相当普遍。
但如果没有,那么你不必自己做你自己也是对我的问题的回答。
提前致谢。 坦率。
答案 0 :(得分:1)
Android没有特别像Observer
/ Observable
这样的内容 - 即使你也可以在Android中自由使用它们。
问题是:您是否应该使用Observer
/ Observable
- 类?有人说不,因为它要求您覆盖update
- 方法,该方法采用Object
参数。这不是OO友好的。其他人,喜欢它。
反对它的人,建议您编写自己的Observer
类,并手动注册这些观察者。然后,每个Observable
应遍历Observer
个实例列表,以表示:
“嘿!这是一个更新。”
答案 1 :(得分:0)
好问题。
您必须实现自己的侦听器,然后才能在稍后创建的XML文件中使用selector
。就像您在Buttons
使用它时一样:android:state_pressed="true"
编辑:但是,我真的建议你不要花时间完成这项任务,因为这可以通过任何其他更简单的方式完成。