在Stack Overflow中已经有一些类似的问题但是所选择的解决方案都没有对我有用。这些链接似乎做出了不同的选择,但我尝试了,我无法删除默认情况下的第一个选项。
忽略项目图标。 我需要删除圈子中的项目。
private class ModoAccion implements ActionMode.Callback {
private ArrayList<Integer> listaOpciones = new ArrayList<Integer>();
@Override
public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
MenuInflater inflater = actionMode.getMenuInflater();
menu.clear();
inflater.inflate(R.menu.admin_detalle_emp_action_mode, menu);
actionMode.invalidate();
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) {
listaOpciones.add(R.id.accion_cancelar);
listaOpciones.add(R.id.accion_guardar);
for (int i = 0; i < menu.size(); i++) {
MenuItem item = menu.getItem(i);
if (!listaOpciones.contains(item.getItemId()))
item.setVisible(false);
}
return false;
}
@Override
public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) {
switch (menuItem.getItemId()) {
case R.id.accion_cancelar:
actionMode.finish(); // Action picked, so close the CAB
return true;
default:
return false;
}
}
@Override
public void onDestroyActionMode(ActionMode actionMode) {
mActionMode = null;
}
}
答案 0 :(得分:0)
你实际上无法摆脱上下文操作栏的那个区域。但是,您可以通过样式化应用程序来更改其drawable(如果您愿意,甚至可以改为任何内容)。只需覆盖项目名称android:actionModeCloseDrawable
并插入您自己的drawable。