Android 如何隐藏EditText的文本选择处理程序的ActionPopupWindow
实际上,当用户单击+图标(参考附件图像)时,我想隐藏ActionPopupWindow(具有全选、剪贴板选项的弹出窗口) 当用户单击文本选择处理程序(气泡)时出现ActionPopupWindow(当用户点击EditText中的文本时出现) 我曾尝试使用EditText的setTextIsSelectable()方法,但效果并不一致 任何帮助或指导都将不胜感激 更新:要隐藏已打开并显示在屏幕上的弹出窗口,您需要清除当前Android 如何隐藏EditText的文本选择处理程序的ActionPopupWindow,android,android-layout,android-edittext,android-textinputedittext,Android,Android Layout,Android Edittext,Android Textinputedittext,实际上,当用户单击+图标(参考附件图像)时,我想隐藏ActionPopupWindow(具有全选、剪贴板选项的弹出窗口) 当用户单击文本选择处理程序(气泡)时出现ActionPopupWindow(当用户点击EditText中的文本时出现) 我曾尝试使用EditText的setTextIsSelectable()方法,但效果并不一致 任何帮助或指导都将不胜感激 更新:要隐藏已打开并显示在屏幕上的弹出窗口,您需要清除当前编辑文本的焦点,或者在单击加号按钮时将焦点放在其他视图上。见 示例如下:
编辑文本的焦点
,或者在单击加号按钮时将焦点放在其他视图上。见
示例如下:
如果你想让弹出窗口一开始就不显示,有很多方法可以做到 最简单的方法是禁用长时间单击和选择功能:
yourEditText.setLongClickable(false);
yourEditText.setTextIsSelectable(false);
第二个是覆盖edittext上的操作回调操作:
yourEditText.setCustomSelectionActionModeCallback(new ActionMode.Callback() {
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
public void onDestroyActionMode(ActionMode mode) {
}
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
return false;
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}
});
根据您的情况,您可以单独使用,也可以一起使用
您也可以从嗨,奥乌尚·德恩圭尔那里查看其他选项,谢谢您的快速回复。但当用户点击任何按钮(如所附图片中的+图标)时,我需要隐藏ActionPopupWindow(具有全选、剪贴板选项的弹出窗口)。@abhishekkumargupta更新了我的答案并解决了您的实际问题。谢谢奥乌尚·德恩格尔。我惊奇地发现,我竟然忽略了这个简单的清除焦点的概念。
yourEditText.setCustomSelectionActionModeCallback(new ActionMode.Callback() {
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
public void onDestroyActionMode(ActionMode mode) {
}
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
return false;
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}
});