Android - EditText不可编辑且无法选择

时间:2017-10-23 18:01:05

标签: java android android-edittext

在我的活动代码中,我有这些行

EditText editText=(EditText)findViewById(R.id.editText);
editText.setTextIsSelectable(false);

我想要实现的是EditText不可编辑且不可选择的。 在上一行我尝试实现第二个选项,但它不起作用。 EditText仍然可以选择。

为了使EditText不可编辑,我没有找到任何方法,例如setEditable或类似方法。我读到了关于设置InputType的内容,但我没有成功。

然而,不可选择的约束可能会被削弱。我的主要目标是EditText内的文字不会因任何原因而改变。由于这些原因,EditRext可以选择,但我希望没有用户可以剪切文本。

我不需要XML,只需要Java代码。所有这些都需要以编程方式进行。

3 个答案:

答案 0 :(得分:3)

对不起家伙,至少对我的设置(Sdk Version 25 with AppCompatActivity)

editText.setFocusable(false);

仍然会让我按下虚拟键盘的返回按钮,为文本添加线条。如果你添加

editText.setEnabled(false);

此行为停止,但文本显示为灰色。

因此,我认为以下是更好的解决方案:

editText.setInputType(0);

答案 1 :(得分:2)

这很好用;只需将edittext的focusable属性设置为“false”即可完成。

<EditText
        android:id="@+id/EditTextInput"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:focusable="false"
        android:gravity="right"
        android:cursorVisible="true">
    </EditText>

答案 2 :(得分:1)

我将实现以下代码:

editText.setFocusable(false);
editText.setClickable(false);
editText.setEnabled(false);

哪个应阻止与EditText进行互动。自View扩展EditText后,请阅读此处有关ForeignKeyField课程的详情:

https://developer.android.com/reference/android/view/View.html#setFocusable(boolean)