【问题标题】:How to update summary of preference from sub-preference如何从子偏好更新偏好摘要
【发布时间】:2011-02-08 13:58:50
【问题描述】:
我无法解决这个问题。我有偏好屏幕,并且有打开另一个屏幕的子偏好。在该屏幕上,可以使用OnSharedPreferenceChangeListener 捕获项目的另一个屏幕更改,并且我更改了父首选项屏幕中的摘要,但是当我返回该父首选项屏幕时,摘要没有更改。
同样的问题被问到here,但结论不清楚,我无法解决这个问题。这对我来说似乎是一个常见问题,我想有很好的解决方案。
有人知道这个问题的解决方案吗?
- 我喜欢保留一件事:子偏好是标准的,而不是自定义的。
【问题讨论】:
标签:
android
summary
preference
【解决方案1】:
我已通过将OnPreferenceClickListener 添加到首选项中来解决此问题,这将更改主屏幕中的摘要。
OnPreferenceClickListener viewUpdater = new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
updateView();
return false;
}
};
在 updateView() 方法中,我将摘要设置为新值,然后使用首选项列表视图的 invalidateViews 方法来触发显示摘要的更新
private void updateView() {
preference.setSummary(newSummary);
getListView().invalidateViews();
}