无法在Main Activity文件中调用XML的progress值,提示unresolved references
Android开发MainActivity无法引用XML中progress值报错解决方案
报错说明
运行时提示unresolved references,无法识别XML布局中定义的进度控件的progress属性。
对应解决方案
- 第一步:校验XML控件ID配置
确认布局中进度控件(ProgressBar等)的android:id属性格式正确,示例:android:id="@+id/custom_progress",注意ID拼写、大小写和你在MainActivity中引用的内容完全匹配。 - 第二步:按开发语言选择正确的引用方式
Kotlin开发(推荐使用视图绑定)
- 开启视图绑定:在模块级
build.gradle的android代码块中添加如下配置,同步项目:
android { // 其余原有配置保留 buildFeatures { viewBinding true } }- 在MainActivity中通过绑定类引用控件:
// 布局为activity_main.xml时,自动生成的绑定类为ActivityMainBinding private lateinit var binding: ActivityMainBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) // 直接获取progress值,customProgress替换为你自己的控件ID val currentProgress = binding.customProgress.progress }Java开发
先通过findViewById绑定控件再读取progress:@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 绑定控件,custom_progress替换为你自己的控件ID ProgressBar customProgress = findViewById(R.id.custom_progress); // 获取progress值 int currentProgress = customProgress.getProgress(); } - 开启视图绑定:在模块级
- 第三步:缓存清理(配置正确仍报错时执行)
依次点击Android Studio顶部菜单栏Build > Clean Project,执行完成后再点击Build > Rebuild Project,重新生成绑定类即可消除报错。
内容的提问来源于stack exchange,提问作者Chirag Hegde
相关产品推荐
相关产品推荐

