title: IllegalStateException when replacing a Fragment
body: <p>It's small Android 2.2 test application using the Compatibility Package. This is the (wrong, of course) way I try to replace a Fragment when receiving a click. I'm trying to replace it with a new (different) instance of the same Fragment class. As I will explain it doesn't work as expected and I need help:</p>
  
  <pre><code>public class MainFragmentActivity extends FragmentActivity {
    ...
  
    public void myAction(View view) {
      ...
      RightFragment newRightFrag = RightFragment.newInstance(myNewOption);
      FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
      ft.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out);
      ft.replace(R.id.landscape_right_fragment, newRightFrag);
      ft.commit();
    }
  }
  </code></pre>
  
  <p>You will surely have seen what my mistake is. Anyway let's give a little more explaination about what the application should do :</p>
  
  <p><strong>Landscape Orientation :</strong></p>
  
  <pre><code>---------                ----------
  | L | R |  -&gt; click -&gt;   | L | R2 |
  ---------                ----------
  </code></pre>
  
  <p>On landscape orientation, the activity has a view with 2 fragments: "<em>leftLand</em>" &amp; "<em>rightLand</em>", and if you click a button of the fragment "<em>leftLand</em>" then it changes creates a new Fragment and substitutes the "<em>rightLand</em>" Fragment instance with another instance of the same FragamentActivity class. What makes different those two instances is a parameter passed to "newInstance(int)", it's based upon the clicked button.</p>
  
  <p><strong>Portrait Orientation :</strong></p>
  
  <pre><code>-----                  -----
  |   |                  |   |
  | L |   -&gt; click -&gt;    | R |
  |   |                  |   |
  -----                  -----
  </code></pre>
  
  <p>In portrait orientation it just shows the fragment "<em>leftPort</em>" (has the same layout as "<em>leftLand</em>") and if you click its button then it launches an Intent an starts the RightFragmentActivity, which shows the Fragment "<em>rightLand</em>"</p>
  
  <p>It works fine ... if I don't replace the right fragment. If I do it (clicking the button in landscape orientation) then on a subsequent orientation change (restart of the activity) <strong>the FragmentActivity isn't able to start because of a "<code>IllegalStateException: Fragment RightFragment did not create a view</code>"</strong> like this :</p>
  
  <pre><code>D/AndroidRuntime( 1428): Shutting down VM
  W/dalvikvm( 1428): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
  E/AndroidRuntime( 1428): FATAL EXCEPTION: main
  E/AndroidRuntime( 1428): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.agm.test/com.agm.test.MainFragmentActivity}: android.view.InflateException: Binary XML file line #13: Error inflating class fragment
  E/AndroidRuntime( 1428):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
  E/AndroidRuntime( 1428):        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
  E/AndroidRuntime( 1428):        at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3815)
  E/AndroidRuntime( 1428):        at android.app.ActivityThread.access$2400(ActivityThread.java:125)
  E/AndroidRuntime( 1428):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2037)
  E/AndroidRuntime( 1428):        at android.os.Handler.dispatchMessage(Handler.java:99)
  E/AndroidRuntime( 1428):        at android.os.Looper.loop(Looper.java:123)
  E/AndroidRuntime( 1428):        at android.app.ActivityThread.main(ActivityThread.java:4627)
  E/AndroidRuntime( 1428):        at java.lang.reflect.Method.invokeNative(Native Method)
  E/AndroidRuntime( 1428):        at java.lang.reflect.Method.invoke(Method.java:521)
  E/AndroidRuntime( 1428):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
  E/AndroidRuntime( 1428):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
  E/AndroidRuntime( 1428):        at dalvik.system.NativeStart.main(Native Method)
  E/AndroidRuntime( 1428): Caused by: android.view.InflateException: Binary XML file line #13: Error inflating class fragment
  E/AndroidRuntime( 1428):        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:582)
  E/AndroidRuntime( 1428):        at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
  E/AndroidRuntime( 1428):        at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
  E/AndroidRuntime( 1428):        at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
  E/AndroidRuntime( 1428):        at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
  E/AndroidRuntime( 1428):        at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198)
  E/AndroidRuntime( 1428):        at android.app.Activity.setContentView(Activity.java:1647)
  E/AndroidRuntime( 1428):        at com.agm.test.MainFragmentActivity.onCreate(MainFragmentActivity.java:25)
  E/AndroidRuntime( 1428):        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
  E/AndroidRuntime( 1428):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
  E/AndroidRuntime( 1428):        ... 12 more
  E/AndroidRuntime( 1428): Caused by: java.lang.IllegalStateException: Fragment com.agm.test.RightFragment did not create a view.
  E/AndroidRuntime( 1428):        at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:287)
  E/AndroidRuntime( 1428):        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:558)
  E/AndroidRuntime( 1428):        ... 21 more
  W/ActivityManager(   59):   Force finishing activity com.agm.test/.MainFragmentActivity
  </code></pre>
  
  <p>I have realized that the old "<em>RightFragment</em>" is not destroyed after been replaced. This is probably a consequence of my wrong way to try to substitute it.</p>
  
  <p>Any help would be really appreciated.</p>
  
  <p>Thanks in advance!</p>
  
  <p>/ Angel Galindo Muñoz</p>