title: FragmentTransaction.replace() not working
body: <p>I have a <code>ListFragment</code> displaying a list of items that created by the user. I have a <code>ListView</code> with it's id set to "@android:id/list" and a <code>TextView</code> with the id "@android:id/empty".  </p>
  
  <p>I have an action bar button to display a fragment to allow the user to create more entries for the list. Here is the <code>onOptionsItemSelected()</code> method:</p>
  
  <pre><code>@Override
  public boolean onOptionsItemSelected(MenuItem item) {
      Fragment frag = null;
  
      // Right now I only have code for the addCourse() fragment, will add more soon
      switch (item.getItemId()) {
      case R.id.addCourse:
          frag = new AddCourseFragment();
          break;
      default:
          return super.onOptionsItemSelected(item);
      }
  
      // The support library is being dumb and replace isn't actually 
      getFragmentManager().beginTransaction()
          .remove(this).add(getId(), frag).addToBackStack(null).commit();
      return true;
  
  }
  </code></pre>
  
  <p>The AddCourseFragment code is as follows:  </p>
  
  <pre><code>public class AddCourseFragment extends Fragment {
  
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,
          Bundle savedInstanceState) {
          View view = inflater.inflate(R.layout.fragment_addcourse, container, false);
  //      if (view.findViewById(R.id.timesFrame)!=null) {
          Fragment timesFrag = new TimesFragment();
          getChildFragmentManager().beginTransaction()
              .add(R.id.timesFrame, timesFrag).commit();
  //      }
      return view;
      }
  }
  </code></pre>
  
  <p>As expected, when the list is unpopulated, android shows the text in the <code>TextView</code>. I then hit the add course button and this happens: <img src="https://i.stack.imgur.com/JW79g.png" alt="enter image description here"><br>
  It shows the empty text as well as the new fragment.</p>