androidEditText不可编辑的问题

简介:

如何在java代码中控制EditText不可编辑呢,因为EditText没有setEditable这样的方法,这个问题坛子里已经有很多高手解决了,使用 InputFilter

具体如下:

 

Java代码   收藏代码
  1. 你的EditText.setFilters(new InputFilter[] {  
  2.             new InputFilter() {  
  3.                 public CharSequence filter(CharSequence source, int start,  
  4.                         int end, Spanned dest, int dstart, int dend) {  
  5.                     return source.length() < 1 ? dest.subSequence(dstart, dend) : "";  
  6.                 }  
  7.             }  
  8.         });  

  (申明下,这个我是在坛子中看到的,本人测试有效) 这样做就可以在java代码中动态设置EditText的编辑状态了,但这个无法解决用户体验的问题,软键盘依然会打开,但无法输入,但可以选择内容。


通过这样方式试试吧,自定义一个类继承EditText

Java代码   收藏代码
  1. package custom.widget;  
  2.   
  3. import android.content.Context;  
  4. import android.util.AttributeSet;  
  5. import android.view.MotionEvent;  
  6. import android.widget.EditText;  
  7.   
  8. public class CustomEditText extends EditText {  
  9.     public CustomEditText(Context context,AttributeSet attrs) {  
  10.         super(context,attrs);  
  11.     }  
  12.       
  13.     @Override  
  14.     public boolean onTouchEvent(MotionEvent event) {  
  15.         // TODO Auto-generated method stub  
  16.         return true;  
  17.     }     
  18. }  
  19.   
  20. //然后在页面布局文件使用自定义的EditText  
  21. <custom.widget.CustomEditText  
  22.          android:layout_width="fill_parent"  
  23.          android:layout_height="wrap_content"  
  24.     />  

相关文章
notepad++选中多行文本
notepad++选中多行文本
549 0
notepad++选中多行文本
自定义QTableView右键弹出菜单, 并复制选中的单元格内容到剪贴板中
自定义QTableView右键弹出菜单, 并复制选中的单元格内容到剪贴板中
736 0
|
前端开发 JavaScript
两种方式实现css取消页面鼠标双击选中文字或单击拖动选中文字的效果
两种方式实现css取消页面鼠标双击选中文字或单击拖动选中文字的效果
401 0