天天看點

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預設為非獲得焦點狀态