我在所有屏幕(通过WindowManager)上创建了一个带有3个TextView的条形图。我创建了一个服务并启动一个线程,这个线程每隔1秒更新一次BarView(如果屏幕打开)。还有一个Preference Activity,用于更新这些TextViews的属性(如文本颜色,字体大小,背景颜色,条形位置,条形宽度,条形高度等)。打开“首选项活动”时,此栏仍然可见。因此,当我从Preference Activity更改TextViews的属性时,更改必须立即反映在bar上。 那么从Preference Activity更新TextViews的最佳方法是什么(当首选项值被更改时)?
答案 0 :(得分:0)
您可以定义服务正在侦听的广播意图,并且每当收到此类意图时,它就会知道它需要重新读取首选项并相应地更新显示。然后,在您的首选项活动中,只要识别出适当的值更改,您就可以触发该广播意图(请参阅sendBroadcast()
)。