EditText控件设置只读,动态控制EditText状态

android的文本框输入控件(EditText),有时需要设置控件为只读,最简单的方法就是在layout xml文件中设置EditText的android:editable属性值为false即可,但是大部分时候我们需要在java代码中动态设置EditTex的只读性,而android里没有提供对应的setEditable方法来设置EditText的只读属性,这时候可以通过以下方式变通实现:

public static void setEditTextReadOnly(TextView view){  
      view.setTextColor(R.color.read_only_color);   //设置只读时的文字颜色  
      if (view instanceof android.widget.EditText){  
          view.setCursorVisible(false);      //设置输入框中的光标不可见  
          view.setFocusable(false);           //无焦点  
          view.setFocusableInTouchMode(false);     //触摸时也得不到焦点  
      }  
}  


 

当需要让他可编辑时  再把上面属性设为相反状态即可

你可能感兴趣的:(EditText控件设置只读,动态控制EditText状态)