如何使一个EditText可选,但是不能编辑在Android Ice Cream Sandwich的

2019-07-29 09:04发布

我有在练习一个ListView,并在每一个项目,我插入用于显示我的文字一个EditText。 我需要拖动手柄选择文本和复制文本,但无法编辑文本。 在Android ICS,我怎样才能做到这一点?

Answer 1:

text.setTextIsSelectable(true)需要API 11.对于使用较低的API的那些:在XML中使用:

android:inputType="none"
android:textIsSelectable="true"

这将使你的EditText不可编辑,但选择。



Answer 2:

我想你可以覆盖的onkeydown()方法,让它做什么,但返回true。 它应该抓住从键盘的按键和否定他们,他们可以进入中的EditText文本之前。

你也可以尝试设置可编辑的假像这样

android:editable="false"

在你的XML布局的EditText。 不过我不能肯定,如果这会让你仍然突出和复制,但它是值得一试。



Answer 3:

我解决了这个问题。
刚刚成立的TextView这样的:

text.setTextIsSelectable(true);


Answer 4:

我们虽然android:editable 弃用 ,林特建议使用inputType ,这似乎并没有工作。 所以android:editable="false"显然是针对所有Android版本的最佳解决方案。

<EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:editable="false"
    android:textIsSelectable="true"
    tools:ignore="Deprecated" />


文章来源: How to make an EditText selectable but not editable on Android Ice Cream Sandwich?