[英]Open a contextual menu bar upon menu click
我想知道是否有一种方法可以通过在Android中单击电话菜单按钮来打开上下文菜单栏。 我根据此基础教程创建了一个上下文菜单栏: 教程上下文菜单栏
现在,我的活动中包含以下内容:
mCallback = new Callback(){
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch(item.getItemId()){
case 1:
Toast.makeText(getBaseContext(), "Selected Action1 " + postId, Toast.LENGTH_SHORT).show();
//mode.finish(); // Automatically exists the action mode, when the user selects this action
break;
case 2:
Toast.makeText(getBaseContext(), "Selected Action2 " + postId, Toast.LENGTH_SHORT).show();
//mode.finish(); // Automatically exists the action mode, when the user selects this action
break;
case 3:
Toast.makeText(getBaseContext(), "Selected Action3 " + postId, Toast.LENGTH_SHORT).show();
//mode.finish(); // Automatically exists the action mode, when the user selects this action
break;
}
return false;
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
mode.setTitle("Actions for Post");
getMenuInflater().inflate(R.menu.context_menu_posts, menu);
menu.add(1, 1, 1, "Option 1");
menu.add(1, 2, 2, "Option 2");
menu.add(1, 3, 3, "Option 3");
return true;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
mMode = null;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
};
但是现在我希望它在用户单击菜单按钮时“显示”。 在LongclickListener中使用此代码之前:
if(mMode!=null)
return false;
else
mMode = startActionMode(mCallback);
这对于“活动”中的控件非常有用,但是是否可以通过菜单单击来做到这一点? 我尝试将startActionMode的代码放入@Overriden菜单方法中,但单击菜单按钮后无法打开它。
提前致谢!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.