天天看点

EditText使用技巧

在EditText使用的过程中碰到了如下情况:
![这里写图片描述](https://img-blog.csdn.net/20160307144539515)
![这里写图片描述](https://img-blog.csdn.net/20160307144605859)
具体地址:[这里写链接内容](http://stackoverflow.com/questions/3928711/how-to-make-edittext-not-editable-through-xml-in-android)
           
这样做虽然可以解决点击EditText不弹出软键盘的问题(至于为什么不用TextView , 为了保持风格的一致^_^,
EditText为自定义的样式,TextView直接引用后效果不一样。。。),
但是当EditText第一次被点击的时候不会触发OnClickListener事件,解决办法如下:
           
1.添加OnFocusChangeListener
           
private OnFocusChangeListener onFocusChangeListener = new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            // TODO Auto-generated method stub
            if (hasFocus) {
                /*
                 * 由于设置了setKeyListener()方法导致第一次点击的时候不会触发OnClickListener事件(
                 * 从获得焦点后的重复点击才会执行OnClickListener事件),这里在获得焦点的时候,再点击一次按钮
                 */
                v.performClick();
            }
        }
    };
           
2.添加OnClickListener
           
private OnClickListener onClickListener = new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            // 这样onClickListener方法在EditText每次点击后均会执行,且不会弹出软键盘
        }
    };
           
备注:EditText默认为非获得焦点状态