我在 Activity 中有一个 ListView,在每个 item 中,我插入一个 EditText 来显示我的文本。我需要拖动手柄来选择文本并复制文本,但不能编辑文本。在 Android ICS 上,我该怎么做?
问问题
16107 次
4 回答
23
text.setTextIsSelectable(true)
需要 API 11。对于使用较低 API 的用户:在 xml 中使用:
android:inputType="none"
android:textIsSelectable="true"
这将使您的 EditText 不可编辑但可选择。
于 2013-06-08T09:49:45.573 回答
5
我认为你可以重写 onKeyDown() 方法,让它除了返回 true 之外什么都不做。它应该从键盘捕获按键并将它们否定,然后才能进入 EditText 中的文本。
您也可以尝试像这样将 editable 设置为 false
android:editable="false"
在您的 xml 布局中的 EditText 上。但是我不确定这是否会让你仍然突出和复制,但值得一试。
于 2012-05-11T01:41:30.353 回答
3
我解决了这个问题。
只需像这样设置 TextView :
text.setTextIsSelectable(true);
于 2012-05-18T00:59:01.530 回答
2
Althouthandroid:editable
已被弃用,Lint 建议使用inputType
,它似乎不起作用。所以android:editable="false"
显然是所有安卓版本的最佳解决方案。
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:editable="false"
android:textIsSelectable="true"
tools:ignore="Deprecated" />
于 2017-05-16T16:51:01.103 回答