EditText不可编辑

我试图把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" 

难道我做错了什么?

谢谢你很多

Solutions Collecting From Web of "EditText不可编辑"

android:editable="false"应该可以工作,但是不推荐使用 ,你应该使用android:inputType="none"来代替。

另外,如果你想在代码中做到这一点,你可以这样做:

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

这也是一个可行的select:

 EditText mEdit = (EditText) findViewById(R.id.yourid); mEdit.setKeyListener(null); 

如果你打算让你的EditText不可编辑的,我可以build议使用TextView而不是EditText ,因为在这种情况下使用EditText似乎毫无意义。

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

如果你想使EditText不能从代码编辑:

 void disableInput(EditText editText){ editText.setInputType(InputType.TYPE_NULL); editText.setTextIsSelectable(false); editText.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v,int keyCode,KeyEvent event) { return true; // Blocks input from hardware keyboards. } }); } 

如果你想删除你的EditText的水平线,只需添加:

 editText.setBackground(null); 

如果你想让用户复制EditText的内容然后使用:

 editText.setTextIsSelectable(true); 
  <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/editTexteventdate" android:background="@null" android:hint="Date of Event" android:textSize="18dp" android:textColor="#fff" android:editable="false" android:focusable="false" android:clickable="false" /> 

添加这个

机器人:编辑=“假”

机器人:可聚焦=“假”

机器人:可点击=“假”

它为我工作