我正在尝试使用以下代码使EditText不可编辑:

<EditText android:id="@+id/outputResult"
          android:inputType="text"
          android:editable="false"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:text="@string/result" />

我必须添加以下行以使其不可编辑
android:focusable="false"

难道我做错了什么?

非常感谢你

最佳答案

android:editable="false"应该可以,但是it is deprecated应该使用android:inputType="none"代替。

或者,如果您想在代码中执行此操作,则可以执行以下操作:

EditText mEdit = (EditText) findViewById(R.id.yourid);
mEdit.setEnabled(false);

这也是一个可行的选择:
EditText mEdit = (EditText) findViewById(R.id.yourid);
mEdit.setKeyListener(null);

如果您要使自己的EditText不可编辑,我是否建议您使用TextView小部件而不是EditText,因为在这种情况下,使用EditText似乎毫无意义。

编辑:,因为我发现android:editable已被弃用,所以更改了一些信息,您应该使用android:inputType="none",但是在android代码上有一个bug;因此,请检查this

10-07 19:41
查看更多