title: OnCreateOptionsMenu() not called in Fragment
body: <p>I have an app which got one activity with 2 fragments placed horizontally.</p>
  
  <p>In my activity I inflated menu using <code>onCreateOptionsMenu()</code> using which I am able to display actionbar options menu. But when I try to update the action bar  menu items from one of my fragment, the <code>onCreateoptionsmenu()</code> is not called. So, I'm not able to update the action bar options menu.</p>
  
  <p>The code in my activity is as below:  </p>
  
  <p><strong>myActivity.java</strong></p>
  
  <pre><code>package com.andr.androidtablelist;
  
  import java.io.IOException;
  
  import android.app.ActionBar;
  import android.app.Activity;
  import android.os.Bundle;
  import android.view.Menu;
  import android.view.MenuInflater;
  import android.view.MenuItem;
  import android.widget.Toast;
  
  import com.andr.fragments.ListLeftFragment;
  import com.andr.utils.DBHelper;
  
        public class TabletActivity extends Activity {
      ActionBar actionBar = null;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          DBHelper dbhelper;
          dbhelper = new DBHelper(this);
          try {
              dbhelper.createDatabase();
          } catch (IOException ex) {
              ex.printStackTrace();
          }
          setContentView(R.layout.activity_tablet);
          actionBar = getActionBar();
          actionBar.setDisplayHomeAsUpEnabled(false);
          getFragmentManager().beginTransaction()
                  .replace(R.id.master, ListLeftFragment.newInstance()).commit();
      }
  
      @Override
      public boolean onCreateOptionsMenu(Menu menu) {
          MenuInflater inflater = getMenuInflater();
          inflater.inflate(R.menu.tablet, menu);
          return true;
      }
  
      @Override
      public boolean onOptionsItemSelected(MenuItem item) {
          switch (item.getItemId()) {
          case android.R.id.home:
              Toast.makeText(
                      getApplicationContext(),
                      "Back Stack Count::"
                              + getFragmentManager().getBackStackEntryCount(),
                      Toast.LENGTH_LONG).show();
              if (getFragmentManager().getBackStackEntryCount() == 1) {
                  actionBar.setDisplayHomeAsUpEnabled(false);
              }
              if (getFragmentManager().getBackStackEntryCount() &gt; 1) {
                  getFragmentManager().popBackStack();
  
              }
              return true;
  
          }
          return super.onOptionsItemSelected(item);
      }
  
  }
        // http://www.vogella.com/articles/AndroidListView/article.html
  </code></pre>
  
  <p><strong>myFragment.java</strong></p>
  
  <pre><code>      package com.andr.fragments;
  
  
  import java.util.ArrayList;
  import java.util.HashMap;
  import java.util.List;
  import android.app.Fragment;
  import android.content.Context;
  import android.os.Bundle;
  import android.view.LayoutInflater;
  import android.view.Menu;
  import android.view.MenuInflater;
  import android.view.MenuItem;
  import android.view.View;
  import android.view.View.OnClickListener;
  import android.view.ViewGroup;
  import android.widget.AdapterView;
  import android.widget.AdapterView.OnItemClickListener;
  import android.widget.ArrayAdapter;
  import android.widget.BaseAdapter;
  import android.widget.ListView;
  import android.widget.SearchView;
  import android.widget.TextView;
  
  import com.andr.androidtablelist.R;
  import com.andr.helper.LazyHelper;
  
     public class ListLeftFragment extends Fragment{
      private static ListLeftFragment listFragment = null;
  
      public static ListLeftFragment newInstance(){
          listFragment = new ListLeftFragment();      
          return listFragment;
      }
  
       @Override
      public void onCreate(Bundle savedInstanceState) {
          // TODO Auto-generated method stub
          super.onCreate(savedInstanceState);
  
  
      }
  
       @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,
              Bundle savedInstanceState) {
           View v =  inflater.inflate(R.layout.fragment_listlayout, container,false);
           getActivity().invalidateOptionsMenu();
           ListView lv = (ListView)v.findViewById(R.id.lview);
           String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
                      "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
                      "Linux", "OS/2", "Ubuntu", "Windows7", "Max OS X", "Linux",
                      "OS/2", "Ubuntu", "Windows7", "Max OS X", "Linux", "OS/2",
                      "Android", "iPhone", "WindowsMobile" };
           getActivity().getActionBar().setTitle("LeftList");
  
            ArrayList&lt;String&gt; list = new ArrayList&lt;String&gt;();
           LazyHelper lHelper = new LazyHelper(getActivity());
           list = lHelper.getLazyDetials();
  
             /* for (int i = 0; i &lt; values.length; ++i) {
                list.add(values[i]);
              }
              final StableArrayAdapter adapter = new StableArrayAdapter(getActivity(),
                  android.R.layout.simple_list_item_1, list);*/
              LeftListAdapter lAdapter = new LeftListAdapter(getActivity(),list);
              lv.setAdapter(lAdapter);
              lv.setOnItemClickListener(new OnItemClickListener()
              {
  
                  @Override
                  public void onItemClick(AdapterView&lt;?&gt; arg0, View arg1,
                          int pos, long arg3) {
                      final String clickedData = (String)arg0.getItemAtPosition(pos);
                      Bundle bundle = new Bundle();
                      bundle.putString("clickedItemName", clickedData);
                      Fragment detailFragment = DetailFormRightFragment.newInstance();
                      detailFragment.setArguments(bundle);
                      getActivity().getFragmentManager().beginTransaction().replace(R.id.details, detailFragment).addToBackStack(null).commit();
                  }
  
              }
                      );
           return v;
      }
  
  
       @Override
      public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
          super.onCreateOptionsMenu(menu, inflater);
          getActivity().getMenuInflater().inflate(R.menu.search, menu);
          SearchView searchView=(SearchView)menu.findItem(R.id.search);
          searchView.setIconifiedByDefault(true);
      } 
  
       @Override
      public boolean onOptionsItemSelected(MenuItem item) {
  
           super.onOptionsItemSelected(item);
           return false;
      }
  
  
       @Override
      public void onPrepareOptionsMenu(Menu menu) {
           super.onPrepareOptionsMenu(menu);
          /*MenuItem item;
          menu.clear();
          getActivity().getMenuInflater().inflate(R.menu.search, menu);
          SearchView searchView=(SearchView)menu.findItem(R.id.search);
          searchView.setIconifiedByDefault(true);*/
      }
  
       private class StableArrayAdapter extends ArrayAdapter&lt;String&gt; {
  
              HashMap&lt;String, Integer&gt; mIdMap = new HashMap&lt;String, Integer&gt;();
  
              public StableArrayAdapter(Context context, int textViewResourceId,
                  List&lt;String&gt; objects) {
                super(context, textViewResourceId, objects);
                for (int i = 0; i &lt; objects.size(); ++i) {
                  mIdMap.put(objects.get(i), i);
                }
              }
  
              @Override
              public long getItemId(int position) {
                String item = getItem(position);
                return mIdMap.get(item);
              }
  
              @Override
              public boolean hasStableIds() {
                return true;
              }
  
            }
  
       private class LeftListAdapter extends BaseAdapter implements OnClickListener {
           private Context mcontext;
           ArrayList&lt;String&gt; listData;
           private  LayoutInflater inflater=null;
           public LeftListAdapter(Context context, ArrayList&lt;String&gt; listItems) {
                mcontext=context;
                listData=listItems;
                inflater = (LayoutInflater)mcontext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
           }
  
          @Override
          public int getCount() {
              return listData.size();
          }
  
          @Override
          public Object getItem(int arg0) {
              return null;
          }
  
          @Override
          public long getItemId(int arg0) {
              // TODO Auto-generated method stub
              return 0;
          }
  
          @Override
          public View getView(int position, View view, ViewGroup arg2) {
              // create a ViewHolder reference
              View vi=view;
              if(vi==null){
                  vi = inflater.inflate(R.layout.item, null);
              }
              TextView text=(TextView)vi.findViewById(R.id.text);
              text.setText(listData.get(position));
              vi.setOnClickListener(this);
              return vi;
          }
  
          @Override
          public void onClick(View vi) {
              TextView text=(TextView)vi.findViewById(R.id.text);
              Bundle bundle = new Bundle();
              bundle.putString("clickedItemName", text.getText().toString());
              Fragment detailFragment = DetailFormRightFragment.newInstance();
              detailFragment.setArguments(bundle);
              getActivity().getFragmentManager().beginTransaction().replace(R.id.details, detailFragment).addToBackStack(null).commit();          
          }
  
       }
     }
  </code></pre>