java - `Caused by: java.lang.RuntimeException: view must have a tag` 的实际含义是什么?

标签 java android android-activity view

如果知道需要什么标签,请告诉我。

引起:java.lang.RuntimeException:view must have a tag

__BaseActivity.java

    @Override
    public void setContentView(int layoutResID) {

        mBinding.contentParent.removeAllViews();
        DataBindingUtil.inflate(LayoutInflater.from(this), layoutResID, mBinding.contentParent, true);
        super.setContentView(mBinding.getRoot());
    }

__ChildActivity.java

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mBinding = DataBindingUtil.setContentView(this, R.layout.my_wallet);
}

错误日志

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mydev}: java.lang.RuntimeException: view must have a tag
        at <more...>
     Caused by: java.lang.RuntimeException: view must have a tag
        at android.databinding.DataBinderMapperImpl.getDataBinder(DataBinderMapperImpl.java:121)

最佳答案

这通常发生在尝试使用 DataBindingUtil.inflate() 时膨胀不支持数据绑定(bind)的布局。换句话说,您尝试扩充的布局的根元素不是 <layout>。 .

我在重构 Activity 以使用数据绑定(bind)时遇到了这个问题,并且 Activity 有多个布局。我成功地重构了其中一个布局以包含 <layout>元素,但我没有重构所有其他布局(其他屏幕密度、语言、模块等的布局)。

检查以确保所有 可能的匹配布局配置为<layout>作为它们的根元素。

请参阅此开发人员文档 Layouts and binding expressions

关于java - `Caused by: java.lang.RuntimeException: view must have a tag` 的实际含义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53184433/

相关文章:

android - 如何使用左下角的应用程序图标在 sdcard 上创建文件夹?

android - 具有多个配置 Activity 的一个小部件 (Android)

android - 从 Google plus 集成中的另一项 Activity 中注销是行不通的

java - 连接到 Google App Engine 数据存储

java - 无法修复空指针异常

Java 如何销毁单例实例

android - Phonegap Android API 是否有在线 Javadoc?

java - Android - JSONArray 到 RecyclerView 适配器?

java - Java ME 中的二进制消息有多可靠

java - 如何播放主屏幕和副屏幕上添加的音乐?