2014-01-18 71 views
1

已加我爲使用這樣的路該怎麼檢查它的菜單項onprepareoptionsmenu 已經存在請幫我如何檢查菜單項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); // 


    } 
+0

可能重複http://stackoverflow.com/questions/21203790/how-to-check-whet她的菜單項已經存在 –

回答

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

這裏9是ID爲添加的項目可以通過

得到它
menu.findItem(9) 
+0

menu.findItem(9)返回MenuItem,如果它不存在它將返回null –

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. 
} 
2

通過使用獲得該項目,並添加要要do.hope這將工作

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

{

} else 

{

} 
相關問題