Подтвердить что ты не робот

TextView onClick не отвечает на одно нажатие

У меня есть TextView со следующим кодом назначения:

Answer1TextView = (TextView) findViewById(R.id.editText1);
Answer1TextView.setOnClickListener(answer1TextViewListener);

и вот мой onClickListener:

private  OnClickListener answer1TextViewListener = new OnClickListener() 
{
    public void onClick(View v) 
    {
        if(Answer1Win){
            Toast.makeText(QuizScreen.this,"Correct ",2).show();
        } else
        {
            Toast.makeText(QuizScreen.this,"Incorrect, Pick Another Answer",2).show();
        }
    }
};  

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

4b9b3361

Ответ 1

Первый щелчок просто устанавливает фокус на TextBox, тогда второй клик фактически обрабатывается как клик. Вместо использования onClickListener вам может быть повезло с onFocusChangeListener

Ответ 2

Как сказал Крис, первый щелчок фокусирует TextView, а второй - нажимает на него.

Настройка android:focusableInTouchMode="false" устраняет проблему для сенсорных экранов, но без нарушения функциональности для устройств без сенсорного экрана.

Если бы вы просто использовали android:focusable="false", что помешало бы, например, пользователям d-pad вообще щелкнуть представление.

Ответ 3

Проблема может заключаться в том, что textIsSelectable является истинным. Установите textIsSelectable="false" для TextView в XML.

Ответ 4

Правильный способ сделать это: android:clickable="true"

Ответ 5

используйте OnTouchListener вместо onFocusListener триггеры дважды, когда вы входите и покидаете клавишу