Android IllegalArgumentException : The tag for fragment_XXX is invalid. 收到:layout-sw600dp/fragment_XXX_0

标签 android android-layout android-databinding

我目前正在尝试配置我的应用程序的布局以支持多种屏幕尺寸。
这个过程需要我身边的大量测试,所以我不断地删除/移动/重构布局文件。
但是,目前我无法解决标题中所写的异常,因为每次运行我的应用程序时都会显示它。在此异常之前,我有另一个名为 的布局文件夹布局土地然后只是删除了这个文件夹并将其内容移动到 布局-sw600dp 文件夹。
我尝试了多种方法来解决这个问题:

  • 我删除了所有额外的 layout-(s)w* 文件夹
  • 是否重新启动了 Android Studio 并使缓存无效
  • 多次清理/重建项目

  • 还有什么可以帮助我的吗?
    编辑
    java.lang.IllegalArgumentException: The tag for fragment_XXX is invalid. Received: layout-sw600dp/fragment_XXX_0
       at com.example.myapp.DataBinderMapperImpl.getDataBinder(DataBinderMapperImpl.java:422)
       at androidx.databinding.MergedDataBinderMapper.getDataBinder(MergedDataBinderMapper.java:79)
       at androidx.databinding.DataBindingUtil.bind(DataBindingUtil.java:199)
       at androidx.databinding.DataBindingUtil.inflate(DataBindingUtil.java:130)
       at androidx.databinding.ViewDataBinding.inflateInternal(ViewDataBinding.java:1409)
       at com.example.myapp.databinding.FragmentXXXBinding.inflate(FragmentLoginBinding.java:146)
       at com.example.myapp.databinding.FragmentXXXBinding.inflate(FragmentLoginBinding.java:132)
       at com.example.myapp.XXXFragment.onCreateView(LoginFragment.java:74)
       at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963)
       at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518)
       at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
       at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
       at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2106)
       at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
       at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524)
       at android.os.Handler.handleCallback(Handler.java:938)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:246)
       at android.app.ActivityThread.main(ActivityThread.java:8506)
       at java.lang.reflect.Method.invoke(Native Method)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
    

    最佳答案

    我有同样的问题。就我而言,即使我使缓存文件无效并重新启动了 android studio,我仍然会遇到同样的错误。对我有用的是我搜索了layout-sw600dp在我的文件目录的根目录中,弹出了 2 个包含该短语的 JSON 文件。我删除了那些,之后,一切正常。
    我希望它也能帮助你。

    关于Android IllegalArgumentException : The tag for fragment_XXX is invalid. 收到:layout-sw600dp/fragment_XXX_0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69617382/

    相关文章:

    MutableLiveData 的 Android XML 绑定(bind)不起作用

    android - 在 MVVM 架构中从 ViewModel 添加 fragment

    android - Android SDK 中的 getWidth/Height() 和 getMeasuredWidth/Height() 有什么区别?

    android - 单击可扩展 ListView 项/子项时无法启动/打开 Activity 以及如何在此处实现 Toast

    android - 检测 ScrollView 是否向上或向下滚动 - Android

    java - 这个同步有什么意义?

    android - 如何让 android ListView 项目选择器使用 state_pressed

    android - 带有(架构导航组件)和 BottomNavigationView 的启动画面

    java - RecyclerView Adapter OnClick 参数

    java - 当 API 通过 JSON 返回 null 值时,使用 Moshi 时有什么方法可以返回 Kotlin 数据类中的默认值