You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中应用版本号无法显示的问题求助

解决方法

1. 修复EditTextPreference的显示逻辑

EditTextPreference默认通过summary属性展示内容,调用setText()仅修改了它的存储值,不会自动更新界面显示。需要额外设置summary:

version = (EditTextPreference)findPreference(getString(R.string.version));
version.setText(verName);
version.setSummary(verName); // 添加这行,让版本号显示在界面上

2. 使用只读Preference更合理

如果版本号不需要支持编辑,推荐改用普通Preference,避免用户误操作:

  • 修改XML:
<PreferenceCategory android:title="Version">
    <Preference
        android:key="@string/version"
        android:title="App Version"/>
</PreferenceCategory>
  • 修改Fragment代码:
Preference versionPref = findPreference(getString(R.string.version));
versionPref.setSummary(verName);

3. 确认PreferenceFragment的初始化方式

如果你使用的是AndroidX的PreferenceFragmentCompat,建议在onCreatePreferences方法中完成配置加载和赋值,这是官方推荐的写法:

@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
    setPreferencesFromResource(R.xml.preferences, rootKey);
    Preference versionPref = findPreference(getString(R.string.version));
    versionPref.setSummary(BuildConfig.VERSION_NAME);
}

4. 检查字符串资源

确保res/values/strings.xml中存在version对应的字符串,避免findPreference返回null:

<string name="version">app_version</string>

内容的提问来源于stack exchange,提问作者Moeez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 05:35:28