天天看点

EditText设置可以编辑和不可编辑状态

可能有人会说,设置EditText不可编辑那还不简单,直接设置 

Xml代码 

1.android:editable="false"      

android:editable="false" 就可以了,如果你一直是这么做的,那么你就不用看下去了,在android2.2中直接设置  android:editable="false"是不起作用的 在android2.2中 editable是depreceated的。

那么我们是不是就不可以设置EditText的编辑状态呢,当然不是,我们可以设置

Xml代码 

1.android:focusable="false"      

android:focusable="false"  这是什么意思呢,很简单,不让它获得输入焦点,既然得不到焦点,当让就无法输入。那么为什么要这么做呢,为什么不要 android:editable了呢,这是一个用户体验的问题。android是一个移动平台,org.hibernate.DuplicateMappingException大多数是没有键盘的,都是屏幕软键盘,如果你设置EditText为不可编辑,那么就不应该打开软键盘,而不是打开软键盘了又无法输入。

EditText设置可以编辑和不可编辑状态

设置不可编辑状态:

editText.setFocusable(false);
editText.setFocusableInTouchMode(false);      
editText.setFocusableInTouchMode(true);
editText.setFocusable(true);
editText.requestFocus();