Java android中是否有模型更改侦听器机制
我正在为一个体育应用程序设计一个android用户界面。 该应用程序的一个特点是,按钮和菜单项的文本会随着时间的推移而变化 游戏状态会不断进步。因此,您可以从设置游戏->开始上半场->半场->下半场->游戏结束等。按钮和菜单项文本将更改,以指示应用程序中的下一个有效操作 到目前为止,我正在通过观察状态的全局变量并在各种onCreate、onResume方法中基本上检查这一点来实现这一点。至少按钮是这样。不确定菜单项以及如何使其动态 现在我想一定有更好的方法在android上实现这一点?在swing中,您可能有一个modelchangelistener,您可以在视图中注册为该监听器。android中是否存在类似的功能?我还知道,在Java中,你可以使用观察者模式,但我一直在寻找android内置的东西。我想这种情况相当普遍 但是如果没有,那么你必须自己做,这也是对我问题的一个可以接受的回答 提前谢谢。 弗兰克。问得好 您必须实现自己的侦听器,然后可以在稍后创建的XML文件中使用Java android中是否有模型更改侦听器机制,java,android,Java,Android,我正在为一个体育应用程序设计一个android用户界面。 该应用程序的一个特点是,按钮和菜单项的文本会随着时间的推移而变化 游戏状态会不断进步。因此,您可以从设置游戏->开始上半场->半场->下半场->游戏结束等。按钮和菜单项文本将更改,以指示应用程序中的下一个有效操作 到目前为止,我正在通过观察状态的全局变量并在各种onCreate、onResume方法中基本上检查这一点来实现这一点。至少按钮是这样。不确定菜单项以及如何使其动态 现在我想一定有更好的方法在android上实现这一点?在swin
选择器。就像您在使用按钮时一样
:android:state\u pressed=“true”
编辑:然而,我真的建议你不要把时间花在这个任务上,因为这可以用任何其他更简单的方法来完成 Android没有任何特别的功能,比如观察者
/可观察者
——即使您也可以在Android中自由使用这些功能
问题是:您是否应该使用Observer
/Observable
-类?有些人说不,因为它要求您重写一个采用对象
参数的更新
-方法。这不太友好。其他人,喜欢它
反对者建议您编写自己的Observer
类,并手动注册这些观察者。然后,每个可观察的都应该遍历观察者
实例列表,以表示:
“嘿!这里有一个更新。”你是说你不建议使用选择器,因为它太复杂了?你认为mayby是通过observer/observer模式还是代码中的其他机制来实现的更简单的方式?你好,Etienne,我认为我们已经跨越了observer/Observable的桥梁,因为我们都准备在系统的另一部分使用它。所以我们也可以在这个例子中使用它。我理解你的意思,你可以通过自己实现观察者模式来构建一个更好的面向对象的版本,但是出于速度和质量的考虑,我更喜欢使用预先存在的组件,而不是我自己的组件。所以我认为你的回答是说android没有提供机制,但Observer/Observable是实现这个方案的一种方法。因此,您提供了一个有效的答案。java.util.Observable
不太适合Android,因为它不是一个接口,而是一个需要扩展的具体类,这与通常Android需要从特定的超类(如适配器、活动、视图或类似)派生的类相冲突。我将定义自己的观察者/可观察接口。