如何禁用 EditText 中的“仅剪切”选项?
How to Disable Only Cut option From EditText?
我有两个用于用户名和密码的 EditText。第一个 UserName EditText 将是 Visible.it 将检查 Valid UserName.Then,Password EditText 将是可见的。我希望用户复制用户名但不想剪切。
如何禁用剪切选项。
但是下面的代码禁用所有选项。
代码:
@Override
public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
return false;
}
@Override
public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) {
return false;
}
@Override
public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) {
return false;
}
@Override
public void onDestroyActionMode(ActionMode actionMode) {
}
});
首先设置一个customSelectionActionModeCallback。
您可以通过其 id 识别剪切选项:android.R.id.cut
所以您在 onCreateActionMode 中的代码来自 ActionMode.Callback 将如下所示:
public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
MenuItem menuItem = menu.findItem(android.R.id.cut);
if (menuItem != null) {
menuItem.setVisible(false);
}
return true;
}
或者您甚至可以使用 menu.removeItem(android.R.id.cut).
删除它
还要对 menu.findItem(android.R.id.cut) 进行 null 检查,因为在其上调用 setVisible 时它可能 return null。
我有两个用于用户名和密码的 EditText。第一个 UserName EditText 将是 Visible.it 将检查 Valid UserName.Then,Password EditText 将是可见的。我希望用户复制用户名但不想剪切。 如何禁用剪切选项。 但是下面的代码禁用所有选项。 代码:
@Override
public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
return false;
}
@Override
public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) {
return false;
}
@Override
public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) {
return false;
}
@Override
public void onDestroyActionMode(ActionMode actionMode) {
}
});
首先设置一个customSelectionActionModeCallback。 您可以通过其 id 识别剪切选项:android.R.id.cut
所以您在 onCreateActionMode 中的代码来自 ActionMode.Callback 将如下所示:
public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
MenuItem menuItem = menu.findItem(android.R.id.cut);
if (menuItem != null) {
menuItem.setVisible(false);
}
return true;
}
或者您甚至可以使用 menu.removeItem(android.R.id.cut).
删除它还要对 menu.findItem(android.R.id.cut) 进行 null 检查,因为在其上调用 setVisible 时它可能 return null。