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

迁移AndroidX后加载PreferenceScreen出现InflateException错误求助

错误原因

你项目已经迁移到AndroidX架构,但偏好设置布局pref_general.xml中仍在使用旧版Android Support库的android.support.v7.preference包下的控件全类名,AndroidX运行时不存在该路径的类,所以抛出类找不到的异常。

修复方案
  • 第一步:确认Module级build.gradle中已经引入AndroidX Preference依赖,示例如下(可替换为最新稳定版):
implementation "androidx.preference:preference:1.2.1"

同时检查gradle.properties中已开启AndroidX支持配置:

android.useAndroidX=true
android.enableJetifier=true
  • 第二步:修改pref_general.xml中所有控件的包前缀,把所有android.support.v7.preference.替换为androidx.preference.,同时删除文件中SeekBarPreference标签后多余的孤立/>语法错误。修改后的根标签示例:
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">

其余的PreferenceCategory、SwitchPreference、SeekBarPreference等标签都同步修改包前缀即可。

  • 第三步:检查SettingsFragment.java中的import语句,所有Preference相关类的导入都替换为AndroidX包下的路径:
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.SeekBarPreference;
import androidx.preference.SwitchPreference;
import androidx.preference.Preference;
  • 第四步:清理项目缓存后重新编译运行即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 14:15:03