我无法解决这个问题。我有偏好屏幕,并且有打开另一个屏幕的子偏好。在另一个屏幕上,可以捕捉到项目的变化,OnSharedPreferenceChangeListener
并且我在父首选项屏幕中更改了摘要,但是当我返回该父首选项屏幕时,摘要没有更改。
这里问了同样的问题,但结论不清楚,我无法解决这个问题。这对我来说似乎是一个普遍的问题,我想有一个很好的解决方案。
有人知道这个问题的解决方案吗?
- 我喜欢保留一件事:子偏好是标准的,而不是自定义的。
我无法解决这个问题。我有偏好屏幕,并且有打开另一个屏幕的子偏好。在另一个屏幕上,可以捕捉到项目的变化,OnSharedPreferenceChangeListener
并且我在父首选项屏幕中更改了摘要,但是当我返回该父首选项屏幕时,摘要没有更改。
这里问了同样的问题,但结论不清楚,我无法解决这个问题。这对我来说似乎是一个普遍的问题,我想有一个很好的解决方案。
有人知道这个问题的解决方案吗?
我通过添加OnPreferenceClickListener
将更改主屏幕中的摘要的首选项解决了这个问题。
OnPreferenceClickListener viewUpdater = new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
updateView();
return false;
}
};
在 updateView() 方法中,我将摘要设置为新值,然后使用首选项列表视图的 invalidateViews 方法来触发显示摘要的更新
private void updateView() {
preference.setSummary(newSummary);
getListView().invalidateViews();
}
检查 对我有用的@jmbouffard的答案