如何检查菜单项已添加到onprepareoptionsmenu中

时间:2014-01-18 12:24:41

标签: android eclipse menuitem

我这样使用如何检查菜单项已经存在于onprepareoptionsmenu中 请帮帮我

我是以编程方式执行此操作提前致谢

        if(flag){                
        menu.add(0, 9, 0, "search").setIcon(android.R.drawable.ic_menu_search).setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS|MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW).setOnMenuItemClickListener(this);
        menu.add(0, 1, 0, "Hindi").setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW).setOnMenuItemClickListener(this);
        menu.add(0, 2, 0, "English").setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW).setOnMenuItemClickListener(this);
        menu.add(0, 3, 0, "Gujarati").setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW).setOnMenuItemClickListener(this);
        menu.add(0, 4, 0, "Punjabi").setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW).setOnMenuItemClickListener(this);
        menu.add(0, 5, 0, "Bengali").setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW).setOnMenuItemClickListener(this);
        menu.add(0, 6, 0, "Marathi").setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW).setOnMenuItemClickListener(this);
        menu.add(0, 7, 0, "Talugu").setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW).setOnMenuItemClickListener(this);
        menu.add(0, 8, 0, "Tamil").setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW).setOnMenuItemClickListener(this);

     flag=false;

     SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);         
     mSearchView=new SearchView(getBaseContext());
        mSearchView.setQueryHint(getResources().getString(R.string.search_hint));           
        mSearchView.setSubmitButtonEnabled(false);              
        mSearchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));     
        mSearchView.setQuery("", false);//
        mSearchView.setIconified(true); //


    }

3 个答案:

答案 0 :(得分:2)

 menu.add(0, 9, 0, "search")

这里9是你可以通过

添加项目的ID
menu.findItem(9)

答案 1 :(得分:2)

通过使用获取项目并添加想要的操作。这将起作用

 if(menu.findItem(1) !=null )

{

} else

{

 }

答案 2 :(得分:1)

你可以这样做,

 menu.add(0, 4, 0, "Punjabi") // here 4 is the id through which you will retrieve menu item

并在检索菜单项时检查它是否为空。像这样

 MenuItem item = menu.findItem(4)
 if(item == null ) {
 // do something here Like you can add menuitem if it has not been added before
 } else {
 // do whatever you want to do with this menu item.
 }