title: Android replace the current fragment with another fragment
body: <p>I just started with fragment design for HoneyComb. I created two fragments. When i click  a button in the left side fragment, a new fragment is created in right side. Meanwhile when i click a button in the right fragment(ie. DetialsFragment in my code below should be replaced by another fragment.
  main.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="horizontal" &gt;
      &lt;fragment class="com.fragment.example.Titles"
          android:id="@+id/titles" android:layout_weight="1"
          android:layout_width="0px"
          android:layout_height="match_parent" /&gt;
      &lt;FrameLayout android:id="@+id/details" android:layout_weight="1"
          android:layout_width="0px"
          android:layout_height="match_parent" /&gt;
  
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>FragmentExample.java</p>
  
  <pre><code>public class FragmentExample extends Activity {
  /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);
      }
  }
  </code></pre>
  
  <p>Titles.java</p>
  
  <pre><code>public class Titles extends Fragment {
      public FragmentTransaction ft;
      @Override
      public View onCreateView(LayoutInflater inflater,
          ViewGroup container, Bundle savedInstanceState) {
          View v = inflater.inflate(R.layout.main1, null);
          Button button1 = (Button)v.findViewById(R.id.button1);
          button1.setText("santhosh");
          button1.setOnClickListener(new OnClickListener() {
  
  
  
              @Override
              public void onClick(View arg0) {
                  // TODO Auto-generated method stub
                   DetailsFragment details = (DetailsFragment)
                              getFragmentManager().findFragmentById(R.id.details);
                      if (details == null || details.getShownIndex() != 1) {
                          // Make new fragment to show this selection.
                          details = DetailsFragment.newInstance(1);
  
                          // Execute a transaction, replacing any existing
                          // fragment with this one inside the frame.
                          ft
                                  = getFragmentManager().beginTransaction();
                          ft.add(R.id.details, details, "detail");
                          ft.setTransition(
                                  FragmentTransaction.TRANSIT_FRAGMENT_FADE);
                          ft.commit();
                      }
              }
  
          });
          return v;
      }
  }
  </code></pre>
  
  <p>DetailsFragment.java</p>
  
  <pre><code>public class DetailsFragment extends Fragment {
      /**
       * Create a new instance of DetailsFragment, initialized to
       * show the text at 'index'.
       */
      Titles title = new Titles();
      String[] titles = {"Title1", "Title2", "Title3", "Title4"};
      public static DetailsFragment newInstance(int index) {
          DetailsFragment f = new DetailsFragment();
  
          // Supply index input as an argument.
          Bundle args = new Bundle();
          args.putInt("index", index);
          f.setArguments(args);
  
          return f;
      }
  
      public int getShownIndex() {
          return getArguments().getInt("index", 0);
      }
  
      @Override
      public View onCreateView(LayoutInflater inflater,
          ViewGroup container, Bundle savedInstanceState) {
          if (container == null) {
              // Currently in a layout without a container, so no
              // reason to create our view.
              return null;
          }
          Button button = new Button(getActivity());
          button.setText("Next");
          button.setOnClickListener(new OnClickListener() {
  
              @Override
              public void onClick(View v) {
                  // TODO Auto-generated method stub
              }
          });
          return button;
      }
  }
  </code></pre>