如何在Android Ice Cream Sandwich中选择EditText但不可编辑?

时间:2012-05-11 01:38:05

标签: android android-edittext

我在Activity中有一个ListView,在每个项目中,我插入一个EditText来显示我的文本。 我需要拖动手柄来选择文字&复制文本,但无法编辑文本。 在Android ICS上,我该怎么做?

4 个答案:

答案 0 :(得分:17)

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

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

这将使您的EditText无法编辑但可选择。

答案 1 :(得分:5)

我认为你可以覆盖onKeyDown()方法,让它什么都不做但返回true。它应该从键盘上捕获按键并在它们进入EditText中的文本之前取消它们。

你也可能try setting editable这样做假

android:editable="false"

在xml布局中的EditText上。但是我不确定这是否会让你仍然突出并复制,但值得一试。

答案 2 :(得分:3)

我解决了这个问题 只需像这样设置TextView:

text.setTextIsSelectable(true);

答案 3 :(得分:2)

Althouth android:editable 已弃用,Lint建议使用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" />