(Deprecated) Fragment onOptionsItemSelected not being called

后端 未结 9 2193
孤城傲影
孤城傲影 2020-11-28 20:45

EDIT: This question was for the deprecated sherlock action bar. Android support library should be used instead now

I have added an action bar menu o

9条回答
  •  夕颜
    夕颜 (楼主)
    2020-11-28 21:42

    I'm using actionbarsherlock. This worked for me:

    1) Create dummy_menu.xml menu

    
    
    
    
    

    2) In activity inflate the menu like this:

    @Override
    public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
        com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater();
       inflater.inflate(R.menu.dummy_menu,menu);
       return super.onCreateOptionsMenu(menu);
    }
    

    3) In fragments onCreateView call setHasOptionsMenu(true) and override onCreateOptionsMenu and onOptionsItemSelected also hide the dummyMenu like this (in fragment)

        @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        inflater.inflate(R.menu.fragment_actions, menu);
        MenuItem item = menu.findItem(R.id.dummyMenu);
        item.setVisible(false);
        super.onCreateOptionsMenu(menu, inflater);
    }
    

    Hope it helps someone.

提交回复
热议问题