Android IllegalArgumentException:fragment_XXX 的标记无效。已收到:layout-sw600dp/fragment_XXX_0

jvo*_*atz 9 android android-layout android-databinding

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

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

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

  1. 我删除了所有额外的布局-(s)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)
Run Code Online (Sandbox Code Playgroud)

Geo*_*ara 3

单击 Android Studio 左上角的下拉图标,将视图设置为“Packages”。它将列出所有创建的布局目录。删除layout-sw600dp 目录和任何其他不需要的目录。清理并重建您的项目。错误将会消失。