gpt4 book ai didi

android - 如何区分 ActionBarSherlock 中的两个菜单项点击?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:25:24 27 4
gpt4 key购买 nike

我最近一直在使用 ActionBarSherlock,根据各种教程,我编写了这段代码来向 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;
}

但是,我不知道如何区分这两种点击。

虽然我确实发现您必须重写 onOptionsItemSelected 来处理点击,并且可以使用 switch 语句来区分点击,但大多数教程使用来自其 xml 菜单的项目 ID。由于我没有在 xml 中创建菜单,我如何区分没有 id 的点击。

最佳答案

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);
}
}

关于android - 如何区分 ActionBarSherlock 中的两个菜单项点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10849964/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com