EditText控件无法代码设置ReadOnly只读

作者: Android开发网原创 时间: 2010-10-25

有些网友可能发现Android的EditText控件有个设计bug,就是无法使用Java代码方式设置ReadOnly只读方式,但是Android123提示大家通过xml代码可以设置 android:editable="false" ,相关的setEnabled方法这里不适用,同时android.text.Editable.Factory也无法设置可编辑,该类相关方法只有static Editable.Factory getInstance() 和 Editable newEditable(CharSequence source) 两个。

目前还没有很好的解决方法,EditText控件这种设计缺陷确实比较麻烦,当然Android开发网给大家一个曲线的方法,通过父类TextView的addTextChangedListener(TextWatcher watcher) 方法,设置一个listener监控文字修改后立即恢复原来的内容即可。



android的EditText控件实现只读只需设置三个方法:
editText.setCursorVisible(false);//隐藏光标
editText.setFocusable(false);//失去焦点
editText.setFocusableInTouchMode(false);//虚拟键盘隐藏
如果需记录状态,可以继承EditText类,添加一个属性enable来控制



更多相关文章

  1. Android常见Exception解决方法
  2. Android在代码中设置drawableLeft(Right/Top/Bottom)
  3. 关于Android studio 使用fastjson报错的解决方法
  4. Android中常用的框架(从GitHub开源库中代码量来排名)
  5. Android禁止EditText自动弹出软键盘的方法
  6. Android SDK23以上(包括23)无法使用httpclient的处理方法
  7. Android-基本UI控件
  8. android 属性android:visibility及 view的setVisibility方法值的

随机推荐

  1. Android中继承RadioButton后,点击不能选中
  2. android一些核心功能程序代码
  3. android 根据SD卡中图片路径读取并显示SD
  4. Android Facebook分享功能实现
  5. android studio3.1.3和kotlin1.2.51踩坑(
  6. APK不用su的方式来获取ROOT权限
  7. Android C/CPP log
  8. 优秀博文
  9. android edittext 输入长度限制并提示
  10. Android studio 常用的插件