SeekBarPreferences正在改变,但不是在视觉上

时间:2012-02-26 13:07:44

标签: android

我一直试图解决这个问题2天了,我完全不知道如何修复它。

基本上,我有一个服务,它监听ListView中的更改(通过BroadcastReceiver),并通过editor.putInt(“SeekBarPreference”,value).commit();相应地更新几个SeekBarPreferences。现在一切都按预期工作,它返回正确的值,但它不会在视觉上改变seekbarpreferences。如果我重新启动服务(按回然后再单击相关选项),它们将更改为正确的位置。或者即使我旋转设备,他们也会改变。 我想我的问题是;有没有办法手动“刷新”首选项的“外观”?

谢谢!

(我知道这里有类似的问题,但没有一个真的有解决方案)

3 个答案:

答案 0 :(得分:0)

您是否在该视图上尝试invalidate()requestlayout()了?

答案 1 :(得分:0)

我有时会依赖的一种蹩脚方式是重新启动活动。为当前活动创建意图并启动它。两行代码。不知道它是否是一个解决您问题的实用解决方案,但它适用于我的各种情况。

答案 2 :(得分:0)

通过清除首选项来管理以在ponSharedPreferenceChanged侦听器上更新搜索栏

    PreferenceScreen prefScreen = getPreferenceScreen();
        prefScreen.removeAll();

再次加载xml

    addPreferencesFromResource(...etc.

然后重新发送广播以更新所有内容

它有效,但不是很优雅。感谢大家的帮助!