@lacredin
Программист

Почему в кастомном AutoCompleteTextView onClick работает только после получения фокуса?

Создаю кастомный AutoCompleteTextView при клике на которой открываются все доступные варианты, как ExpandableListView.

public class CustomAutoCompleteTextView extends AutoCompleteTextView implements View.OnClickListener, View.OnFocusChangeListener {



    public CustomAutoCompleteTextView(Context context) {
        super(context);
        setOnClickListener(this);
        setOnFocusChangeListener(this);
    }

    public CustomAutoCompleteTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setOnClickListener(this);
        setOnFocusChangeListener(this);
    }

    public CustomAutoCompleteTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        setOnClickListener(this);
        setOnFocusChangeListener(this);
    }

    @Override
    public void onClick(View view) {
        this.showDropDown();
    }


    @Override
    public void onFocusChange(View view, boolean b) {
        if(b)
        {
            this.showDropDown();
        }
    }
}


По какой-то причине onClick срабатывает только в том случае, если у элемента уже есть фокус, то есть только при втором клике.
Если кто-то знает в чём причина такого поведения, объясните пожалуйста.
  • Вопрос задан
  • 157 просмотров
Решения вопроса 1
@Scotik
Junior Android Developer
ссылочка, думаю поможет

то есть надо переписать ontouchlistener, onTouch вызывает onFocus, а тот в свою очередь вызывает onClick
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы