如何区分两个菜单项,点击在ActionBarSherlock? [英] How to distinguish two menu item clicks in ActionBarSherlock?
问题描述
我一直在与ActionBarSherlock最近,和follwing各种教程,我写了这个code增加项目操作栏
@覆盖
公共布尔onCreateOptionsMenu(功能菜单){
menu.add(刷新)
.setIcon(R.drawable.ic_action_refresh)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.add(搜索)//搜索
.setIcon(R.drawable.ic_action_search)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
返回true;
}
不过,我不知道如何区分这两个点击。
虽然我没有发现,你必须覆盖onOptionsItemSelected处理的点击,也即switch语句可以用点击来区分,但大多数教程使用项ID从thier XML的菜单。由于我不是在创造XML的菜单我怎么能分辨的点击次数没有标识。
私有静态最终诠释REFRESH = 1;
私有静态最终诠释SEARCH = 2;
@覆盖
公共布尔onCreateOptionsMenu(功能菜单){
menu.add(0,刷新,0,刷新)
.setIcon(R.drawable.ic_action_refresh)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.add(0,搜索,0,搜索)
.setIcon(R.drawable.ic_action_search)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
返回true;
}
@覆盖
公共布尔onOptionsItemSelected(菜单项项){
开关(item.getItemId()){
情况下刷新:
//不要刷新
返回true;
案例搜索:
//做搜索
返回true;
默认:
返回super.onOptionsItemSelected(项目);
}
}
I have been working with ActionBarSherlock recently, and follwing various tutorials, I wrote this code to add items to Action bar
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("Refresh")
.setIcon(R.drawable.ic_action_refresh)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.add("Search")// Search
.setIcon(R.drawable.ic_action_search)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
return true;
}
However, I dont know how to distinguish the two clicks.
Although I did find out that you have to Override onOptionsItemSelected to handle the clicks and also that a switch statement can be used to distinguish between clicks, but most tutorials use item ids from thier xml menus. Since I am not creating menus in xml how can i distinguish the clicks without ids.
private static final int REFRESH = 1;
private static final int SEARCH = 2;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, REFRESH, 0, "Refresh")
.setIcon(R.drawable.ic_action_refresh)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.add(0, SEARCH, 0, "Search")
.setIcon(R.drawable.ic_action_search)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case REFRESH:
// Do refresh
return true;
case SEARCH:
// Do search
return true;
default:
return super.onOptionsItemSelected(item);
}
}
这篇关于如何区分两个菜单项,点击在ActionBarSherlock?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!