我想让一个菜单图标在第一次点击时响应两个不同的动作应该触发第二次点击同一菜单上的第一个动作触发另一个动作时再次点击它应该拨打的第一个动作,就像动作菜单在Android中的两种不同动作之间切换
的方法
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int _clicks = 0;
int count;
switch (item.getItemId()) {
case R.id.action_sort:
count = ++_clicks;
if (count == 1){
Cursor cursor2 = databaseManager.queryAllInsects(BugsContract.BugsEntry.COLUMN_FRIENDLYNAME + " COLLATE NOCASE ASC");
mAdapter.swapCursor(cursor2);
return true;
} if (count == 2){
Cursor cursor3 = databaseManager.queryAllInsects(BugsContract.BugsEntry.COLUMN_DANGERLEVEL + " COLLATE NOCASE DESC");
mAdapter.swapCursor(cursor3);
return true;
}
default:
return super.onOptionsItemSelected(item);
}
}
其实我这样做之间的反复,但一旦得到它的第二次点击,它不会切换回第一个功能,即无法再次点击。任何人都可以帮助你。我最坚持的操作栏菜单
如果你想维护序列1,2,1,2,只需在if(count == 2)中设置_clicks = 0,并将_clicks设置为类变量,在这里你也可以用一个变量来管理它 – Pavan