Android9.0 Settings 修改踩坑记录,
问题现象
上图展示的很清楚,当系统语言为中文时,PreferenceScreen 中的折叠项 summary 描述重复显示的 bug,系统语言为英文时正常。
修改历程
先搜索 当前显示了 字符串,还真找到了
prebuilts\sdk\current\support\v7\preference\res\values-zh-rCN\values-zh-rCN.xml
"高级"
"当前显示了 %1$s 项(已添加 %2$s 项)"
"关闭"
"开启"
再接着搜索 summary_collapsed_preference_list,又找到如下的地方
看着 androidTest 相关的可以忽略,直接看 CollapsiblePreferenceGroupController.java
frameworks\support\preference\src\main\java\androidx\preference\CollapsiblePreferenceGroupController.java
private void setSummary(List collapsedPreferences) {
CharSequence summary = null;
final List parents = new ArrayList<>();
for (Preference preference : collapsedPreferences) {
final CharSequence title = preference.getTitle();
if (preference instanceof PreferenceGroup && !TextUtils.isEmpty(title)) {
parents.add((PreferenceGroup) preference);
}
if (parents.contains(preference.getParent())) {
if (preference instanceof PreferenceGroup) {
parents.add((PreferenceGroup) preference);
}
continue;
}
if (!TextUtils.isEmpty(title)) {
if (summary =