当我的应用程序启动时,我在 EditText 中加载了一些用户无法编辑的文本,直到单击“菜单”并选择“编辑文本”。初始 xml 如下所示:
<EditText
android:id="@+id/myTextBox"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:cursorVisible="true"
android:gravity="top"
android:inputType="none"
android:textIsSelectable="true"
android:scrollbars="vertical"
android:maxLines="1"
/>
用户选择“编辑文本”后,如何使其再次可编辑?我尝试在代码中执行以下操作:
_mytextBox.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_MULTI_LINE);
_mytextBox.setTextIsSelectable(false);
但是键盘再也没有出现过。如果我从 xml 中删除 textIsSelectable 并使用 android:inputType="textMultiLine",它就像我想要的那样工作。
附加信息:抱歉忘了提及,我不能使用禁用/启用方式,因为我希望用户能够选择其中的任何文本并进行“复制”。此外,禁用它会使文本变暗..这不是我想要的。谢谢!
我本来希望调用 _mytextBox.setTextIsSelectable(false); 会将一切重置为正常,但它不会.. 似乎是一个错误?可能与此问题有关:https ://code.google.com/p/android/issues/detail?id=27609