删除 TextView 选择 ActionMode 中的默认 CAB 项
Remove default CAB items in TextView selection ActionMode
当用户从 TextView 中选择一些文本时,我正在尝试从 CAB 中删除默认项,例如 "Copy" 和 "Select All"元素.
我已经使用此代码覆盖了默认操作,但扩充新菜单资源不会删除默认项。
textView.setCustomSelectionActionModeCallback(new ActionMode.Callback() {
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
mode.setTitle("Test");
mode.getMenuInflater().inflate(R.menu.new_menu_selection, menu);
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
}
});
有解决办法吗?
要删除默认项目,您可以在扩充新菜单之前调用 menu.clear()
:
textView.setCustomSelectionActionModeCallback(new ActionMode.Callback() {
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
menu.clear();
mode.setTitle("Test");
mode.getMenuInflater().inflate(R.menu.new_menu_selection, menu);
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
}
});
当用户从 TextView 中选择一些文本时,我正在尝试从 CAB 中删除默认项,例如 "Copy" 和 "Select All"元素.
我已经使用此代码覆盖了默认操作,但扩充新菜单资源不会删除默认项。
textView.setCustomSelectionActionModeCallback(new ActionMode.Callback() {
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
mode.setTitle("Test");
mode.getMenuInflater().inflate(R.menu.new_menu_selection, menu);
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
}
});
有解决办法吗?
要删除默认项目,您可以在扩充新菜单之前调用 menu.clear()
:
textView.setCustomSelectionActionModeCallback(new ActionMode.Callback() {
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
menu.clear();
mode.setTitle("Test");
mode.getMenuInflater().inflate(R.menu.new_menu_selection, menu);
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
}
});