ActionBarSherlock菜单按钮触发另一个片段中的onOptionsItemSelected

时间:2013-06-15 16:12:10

标签: menu actionbarsherlock

我有两个不同片段的菜单按钮,如下面的代码所示。奇怪的是,当我按下第一个片段中的按钮(“Home”)时(当然还有第二个片段中的按钮),它会触发第二个片段中的onOptionsItemSelected。

如果我在两个片段中都有onOptionsItemsSelected,则会对两个片段中的按钮触发第一个片段中的一个片段,并且两个按钮的菜单ID都显示为1。

我可以做些什么来使不同的按钮做不同的事情? (通过触发不同的事件或通过生成不同的菜单ID。)

 public static class MenuFragment extends SherlockFragment {

 @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setHasOptionsMenu(true);
 }

 @Override
 public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
     menu.add("Home").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
 }
 }

 /**
  * Second fragment with a menu.
  */
 public static class Menu2Fragment extends SherlockFragment {

 @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);

     setHasOptionsMenu(true);
     }

 @Override
 public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
     menu.add("Filter").setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
 }

 @Override
 public boolean onOptionsItemSelected(MenuItem item) // This gets fired when Menu 1 is selected
 {
     int id = item.getItemId();
     Toast.makeText(getActivity(), "Option " + id+ " selected", Toast.LENGTH_SHORT).show();

0 个答案:

没有答案