在Activity中我有一个ListView,每个列表项中都有一个EditText用于显示文本。我需要通过拖动手柄来选择并复制文本,但不能编辑文本。在Android ICS上,我该怎么做?
text.setTextIsSelectable(true)
需要API 11及以上版本。对于使用低版本API的用户:
在xml中使用以下代码:
android:inputType="none"
android:textIsSelectable="true"
这将使您的EditText无法编辑,但仍可选择。
android:editable="false"
在XML布局中的EditText上。但是我不确定这样做是否仍然能够高亮和复制,但值得一试。
我解决了这个问题。
只需将TextView设置为:
text.setTextIsSelectable(true);
虽然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" />