myc_100
2012-10-17 03:45
采纳率: 72%
浏览 13.4k

Android中用代码实现editable=“false”问题

在布局中我们可以通过android:editable attribute编辑属性来设置EditText小部件的状态。但是用代码编写怎么设置这个状态呢?想实现的功能是在不同条件下都能编辑EditText小部件的状态。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • znl_12 2012-10-24 03:38
    已采纳

    设置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) : "";
            }
        }
    });
    
    点赞 打赏 评论
  • myq_26 2012-10-17 05:27
      editText.setFocusable(false);
      editText.setClickable(false);
    

    这样就保证EditText不能被选中和光标指向,所以也不能被编辑。

    点赞 打赏 评论
  • 李狗蛋52635 2012-10-17 07:27

    LS的方法太不友好了,用户点啊点啊点不上去以为是死机了。

    editText.setEnable(false)
    editText.setMaxLength(0)

    都是些不错的选择。

    点赞 打赏 评论
  • liaozhaohai 2015-11-16 12:45

    editText.setEnable(false) 这个太死。写了这个,就不能实现其他事件了,点击、双击事件,属性改变等。

    点赞 打赏 评论

相关推荐