Когда EditText был отмечен как кликабельный после его создания? - PullRequest
0 голосов
/ 12 октября 2018

Если я хочу перехватить сенсорные события вида, я бы установил View.OnTouchListener для вида:

textView.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {

        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                break;

            case MotionEvent.ACTION_MOVE:
                break;

            case MotionEvent.ACTION_UP:
                break;
        }

        return true;
    }
});

Возвращаемое значение onTouch должно быть true , иначе остальные события будут получены представлением onTouchEvent .Если представление не установлено OnClickListener и оно не clickable , onTouchEvent вернет false, тогда все события будут обрабатываться другими представлениями.

Таким образом, если представление не имеет OnClickListener и onTouch , возвращает false при перехвате ACTION_DOWN , оно никогда не получит ACTION_MOVE и ACTION_UP . TextView следует этой политике.

Но EditText все еще может получать другие события, хотя для него не установлено OnClickListener и onTouch всегда возвращает false.Наконец, я обнаружил, что он помечен как clickable после его создания.Таким образом, все события могут быть получены его onTouchEvent и onTouch как будет.

Я хочу знать, как EditText может быть помечен как интерактивный,Я проверяю код из EditText и понятия не имею.Пожалуйста, помогите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...