在布局中我们可以通过android:editable attribute编辑属性来设置EditText小部件的状态。但是用代码编写怎么设置这个状态呢?想实现的功能是在不同条件下都能编辑EditText小部件的状态。
设置InputFilter会拒绝所有的改变,是一个很好的解决方案:
editText.setFilters(new InputFilter[] {
new InputFilter() {
public CharSequence filter(CharSequence src, int start,
int end, Spanned dst, int dstart, int dend) {
return src.length() < 1 ? dst.subSequence(dstart, dend) : "";
}
}
});
editText.setFocusable(false);
editText.setClickable(false);
这样就保证EditText不能被选中和光标指向,所以也不能被编辑。
LS的方法太不友好了,用户点啊点啊点不上去以为是死机了。
editText.setEnable(false)
editText.setMaxLength(0)
都是些不错的选择。
editText.setEnable(false) 这个太死。写了这个,就不能实现其他事件了,点击、双击事件,属性改变等。