0

我选择了让每个 Activity 实现 onSharedPreferenceChangedListener 的路径。为了让服务更新值一次发送回多个活动(它不关心哪个具有焦点)

当监听器被调用时,我只有钥匙。然后我必须执行该键的查找以获取相应的视图。这一直不成功。我尝试使用 getCurrentFocus(),然后使用 findViewWithTag()。甚至在 getFocus() 之后尝试了 .getRoot()。

出于测试目的,我只是尝试在侦听器之外获取视图的句柄。我必须确保 setText 在 UIthread 内的 runnalbe 中运行才能工作。

我查看了其他一些代码,如果检查密钥,它们会执行一堆其他代码。我可以这样做来动态获取视图的句柄,因为我会知道对应于它的字符串键的 id 是什么,但两种方式似乎都效率低下。

这让我想到了整体问题。这是一种使用 XML 直接从首选项填充视图文本的方法吗?这样我就不必担心实现监听器的不同活动。一切都将包含在我可以自由移动的 XML 文件中。

4

1 回答 1

0

为了让服务更新值一次发送回多个活动(它不关心哪个具有焦点)

那么,为什么不使用广泛的 Intent 呢?还是由服务注册的监听器对象?

这是一种使用 XML 直接从首选项填充视图文本的方法吗?

不适用于任意活动。

于 2010-08-13T19:42:53.370 回答