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

继承自定义View后通过ViewBinding调用子类方法报错如何解决

问题原因

出现Unresolved reference: startProcess报错的核心原因如下:

  • ViewBinding生成的绑定属性类型完全由XML布局中声明的View类型决定,你在布局里给customView声明的类型是父类BaseCustomView,而非实际使用的子类ACustomView。父类BaseCustomView中没有定义startProcess()方法,因此调用时会提示方法不存在。
  • 少数场景下也可能是XML中ACustomView的全限定名拼写错误、项目未重新构建导致ViewBinding类未更新引发的报错。

解决方案

按照以下步骤操作即可解决:

  1. 找到对应布局文件中customView的声明节点,将类名替换为ACustomView的完整全限定路径,示例如下:
<!-- 错误写法:声明为父类类型 -->
<com.你的包名.BaseCustomView
    android:id="@+id/customView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

<!-- 正确写法:声明为实际使用的子类类型 -->
<com.你的包名.ACustomView
    android:id="@+id/customView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

注意将上述示例中的com.你的包名替换为ACustomView实际对应的包路径。
2. 修改完成后重新构建项目,触发ViewBinding类重新生成,之后即可正常调用binding.customView.startProcess()方法。

如果修改后仍有报错,可检查以下内容:

  • ACustomView的包名、类名拼写是否和XML中声明的完全一致
  • 确认模块已开启ViewBinding开关,没有其他构建错误导致绑定类生成失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:15:02