双击禁用textView选择模式

时间:2014-12-28 09:13:58

标签: java android view textview selection

我有一个带

的可选textView
textView.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);

那么,如何在双击时禁用文本选择模式并仅通过长按显示文本选择?

0 个答案:

没有答案