Note that there are some explanatory texts on larger screens.

plurals
  1. POGetting "Fragment did not create a view" after adition of other Fragment without UI
    text
    copied!<p>I'm having a really weird problem. I have a common fragment that is added in almost every activity of my app. This fragment shows a small version of the player bar. So it listens some broadcasts to update the current music's name and has some controls, like play/pause.</p> <p>Like I said, I add this fragment in almost every activity of my app and I've never had any problem with it. But now, I needed to create a new Fragment that has no UI and that is retained (setRetainInstance(true)). After the adition of this new Fragment, everything seemed to be ok. Until I rotated the device and the activity crashed.</p> <p>So, looking in the log, I see the following exception:</p> <pre><code>07-05 14:10:23.818: ERROR/AndroidRuntime(25922): FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{com.soongz/com.soongz.ui.PlaylistActivity}: android.view.InflateException: Binary XML file line #13: Error inflating class fragment at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135) at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3576) at android.app.ActivityThread.access$800(ActivityThread.java:140) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1243) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4921) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794) at dalvik.system.NativeStart.main(Native Method) Caused by: android.view.InflateException: Binary XML file line #13: Error inflating class fragment at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) at android.view.LayoutInflater.inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate(LayoutInflater.java:396) at android.view.LayoutInflater.inflate(LayoutInflater.java:352) at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:313) at com.actionbarsherlock.internal.ActionBarSherlockNative.setContentView(ActionBarSherlockNative.java:119) at com.actionbarsherlock.app.SherlockFragmentActivity.setContentView(SherlockFragmentActivity.java:262) at net.simonvt.menudrawer.MenuDrawer.setContentView(MenuDrawer.java:964) at com.soongz.ui.BaseComMenuActivity.setContentViewComMenu(BaseComMenuActivity.java:31) at com.soongz.ui.PlaylistActivity.createView(PlaylistActivity.java:111) at br.com.cybereagle.androidlibrary.ui.EagleActivity.onCreate(EagleActivity.java:57) at android.app.Activity.performCreate(Activity.java:5206) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074) ... 12 more Caused by: java.lang.IllegalStateException: Fragment com.soongz.ui.fragment.PlayerReduzidoFragment did not create a view. at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:303) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676) ... 26 more </code></pre> <p>This exception is happening in the Fragment that was already in the Activity, instead of happening in the new Fragment. If I remove the fragment with the small version of the player bar and keep the new Fragment without UI, everything works normally. It also works if I keep just the old fragment and remove the new one.</p> <p>More details: The old fragment is added via layout XML. Here is the XML of the Activity:</p> <pre><code>&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"&gt; &lt;fragment android:name="com.soongz.ui.fragment.ListaDeMusicasFragment" android:id="@+id/lista_de_musicas_fragment" style="?layoutListViewMusicas" /&gt; &lt;fragment android:layout_width="fill_parent" android:layout_height="wrap_content" android:name="com.soongz.ui.fragment.PlayerReduzidoFragment"/&gt; &lt;/LinearLayout&gt; </code></pre> <p>The new fragment (wih no UI) is added in the following way:</p> <pre><code>FragmentManager fragmentManager = getSupportFragmentManager(); operacoesEmBackgroundFragment = (OperacoesEmBackgroundFragment) fragmentManager.findFragmentByTag(TAG_OPERACOES_EM_BACKGROUND_FRAGMENT); if(operacoesEmBackgroundFragment == null){ operacoesEmBackgroundFragment = new OperacoesEmBackgroundFragment(); fragmentManager.beginTransaction() .add(operacoesEmBackgroundFragment, TAG_OPERACOES_EM_BACKGROUND_FRAGMENT) .commit(); } </code></pre> <p>Thanks in advance for anyone who can help me.</p> <p>UPDATE:</p> <p>I removed the setRetainInstance(true) from the fragment with no UI to see if the problem is related to this. But the problem is still occurring.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload