Android IlLegalArgumentException:Fragment_XXX的标签无效。收到:Layout-sw600dp/Fragment_XXX_0
我目前正在尝试配置我的应用程序的布局,以支持多种屏幕尺寸。 这个过程需要我身边的大量测试,所以我不断地删除/移动/重构布局文件。
然而,目前我无法解决标题中所写的异常,因为每次我运行我的应用程序时都会显示该异常。在此例外之前,我有另一个布局文件夹,名为Layout-land,然后删除了该文件夹,并将其内容移动到Layout-sw600dp文件夹。我尝试了多种方法来解决此问题:
- 我删除了所有多余的布局-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左上角的下拉图标,将视图设置为‘Packages’。它将列出创建的所有布局目录。删除Layout-sw600dp目录和任何其他不需要的目录。清理并重建您的项目。错误将消失。
相关文章