Android IlLegalArgumentException:Fragment_XXX的标签无效。收到:Layout-sw600dp/Fragment_XXX_0

我目前正在尝试配置我的应用程序的布局,以支持多种屏幕尺寸。 这个过程需要我身边的大量测试,所以我不断地删除/移动/重构布局文件。

然而,目前我无法解决标题中所写的异常,因为每次我运行我的应用程序时都会显示该异常。在此例外之前,我有另一个布局文件夹,名为Layout-land,然后删除了该文件夹,并将其内容移动到Layout-sw600dp文件夹。

我尝试了多种方法来解决此问题:

  1. 我删除了所有多余的布局-w*文件夹
  2. 重新启动Android Studio并使缓存失效
  3. 多次项目清理/重建

它还能对我有什么帮助吗?

编辑

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左上角的下拉图标,将视图设置为‘Packages’。它将列出创建的所有布局目录。删除Layout-sw600dp目录和任何其他不需要的目录。清理并重建您的项目。错误将消失。

相关文章