myc_100
myc_100
采纳率72%
2012-10-17 03:45

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

已采纳

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • znl_12 znl_12 9年前

    设置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) : "";
            }
        }
    });
    
    点赞 评论 复制链接分享
  • ueryueryuery 李狗蛋52635 9年前

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

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

    都是些不错的选择。

    点赞 评论 复制链接分享
  • myq_26 myq_26 9年前
      editText.setFocusable(false);
      editText.setClickable(false);
    

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

    点赞 评论 复制链接分享
  • liaozhaohai liaozhaohai 6年前

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

    点赞 评论 复制链接分享

相关推荐