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

Viewed 697

I am currently trying to configure the layouts of my app to support multiple screen sizes. This process needs a lots of testing by my side, so I continuously keep deleting/moving/refactoring layout files.

However, at the moment i cannot resolve the exception as written in the title because it is being shown every time i run my app. Before this exception i had another layout folder called layout-land and then just deleted this folder and moved its content to the layout-sw600dp folder.

I 've tried multiple ways to solve this issue:

  1. I deleted all the extra layout-(s)w* folders
  2. Did a restart of Android Studio and invalidated caches
  3. Project clean/rebuild several times

Is there anything else that it would help me?

EDIT

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)
2 Answers

I had the same problem. In my case, even though I Invalidated cached files and restarted android studio, I still would have got the same error. What worked for me was I searched layout-sw600dp in the root of my file directory, and 2 JSON files containing that phrase popped up. I deleted those, and after that, everything worked just fine. I hope it helps you too.

Set the view to 'Packages' by clicking the dropdown icon on the top-left side of Android Studio. It will list all the layout directories created. Delete the layout-sw600dp dir and any other directory you don't need. Clean and rebuild your project. The error will disappear.

Related