我有一个带
的可选textViewtextView.setTextIsSelectable(true)
我想在双击时显示我自己的弹出菜单,我想在长按时显示标准文本选择控件。但现在当我点击双击时,我会看到文本选择操作模式,然后是弹出菜单。 如何在双击时禁用文本选择模式?
我尝试在onLongClickListener中选择textView,然后调用performLongClick() - 仅适用于第二次长按,我不需要这个
textView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
textView.setTextIsSelectable(true);
if (view.getTag() == null){
view.setTag(new Object());
view.performLongClick();
}
return false;
}
});
还尝试通过反射调用textView私有方法来显示选择操作模式 - 使用java.lang.NoSuchFieldException:mEditor,我检查了源代码并且我看到了mEditor字段
Field field = textView.getClass().getDeclaredField("mEditor");
field.setAccessible(true);
Object mEditor = field.gettextView);
Class c = Class.forName("android.widget.Editor");
Method method = c.getMethod("startSelectionActionMode", null);
method.setAccessible(true);
Object result = method.invoke(mEditor);
那么,如何在双击时禁用文本选择模式并仅通过长按显示文本选择?