如何在安卓系统中禁用长按键盘功能

3
我已经使用了一个文本框来查看从字符串文件中获取的文本。如果用户需要,我想给他们复制编辑文本的机会。它可以完全或部分复制。
当长按事件发生时,复制消息会出现。但是虚拟键盘也会出现。我无法隐藏它。我已经尝试了几种方法,这是我的xml代码。
<EditText
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginBottom="23dp"
    android:background="@null"
    android:editable="false"
    android:gravity="right"
    android:inputType="none"
    android:padding="@dimen/padding_maintextview"
    android:text="@string/text"
    android:textAppearance="?android:attr/textAppearanceMedium" />

这里是Java代码。

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(tvchange12.getWindowToken(), 0);
tvchange12.onCheckIsTextEditor();

这里是MEdit类。
public class MEditText extends EditText {
    public MEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
        // TODO Auto-generated constructor stub
    }

    @Override
    public boolean onCheckIsTextEditor() {
        return false;
    }
}

请帮我隐藏长按时的虚拟键盘。

这是标准行为,最好不要抑制它。例如,用户可能想选择文本以删除或替换它,而不仅仅是复制。 - mihail
1个回答

0

如果您不需要编辑文本,可以使用TextView,这样用户就可以在没有键盘的情况下选择和复制文本。


TextView 支持自 API 11 版本。我使用最低 SDK 版本为 8,因此它不会起作用。 - kiriappa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接