1. 程式人生 > >Edittext不可編輯可點選 & 解決Edittext第二次點選才有效

Edittext不可編輯可點選 & 解決Edittext第二次點選才有效

問題1:Edittext不可編輯可點選

1、Edittext在新的api裡已經把editable功能標記deprecated

2、但是如果設定enabled為false的話,點選事件無效了。

解決1:設定focusable方法

哎,之前因為android studio的執行bug導致錯誤過這個簡單的方法 直接設定EditText的focusable=false就可以解決問題 不會影響點選事件噠!!

解決1:設定setKeyListener(null)方法

1、給Edittext設定setKeyListener(null); 禁止彈出輸入法

2、再設定點選事件或者其他的就行了。

————————————————不~~~華~~~麗~~~的~~~分~~~界~~~線————————————————

問題2:Edittext第二次點選才有效

1、很多次遇到Edittext點選第一次游標有閃爍,但是不彈出輸入法或者點選事件無效

解決2:改用OnTouchListener事件

1、給Edittext設定OnTouchListener事件。

2、設定事件中onTouch方法被執行兩次的時候認為類似點選。

3、關鍵程式碼如下

    et_birth.setOnTouchListener(new EtOnTouchListener());
    class EtOnTouchListener implements View.OnTouchListener {

        int touch_flag = 0;

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            touch_flag++;
            if (touch_flag == 2) {
                touch_flag = 0;
                //TODO 
            }
            return false;
        }
    }

————————————————不~~~華~~~麗~~~的~~~分~~~界~~~線————————————————

感恩!