Я пытаюсь последовательно вызвать определенную функцию при нажатии EditText. Проблема в том, что если я реализую onClick, то onClick не будет вызван при первом щелчке EditText и когда я добавлю onFocusChange, чтобы исправить это, слушатель, который был добавлен после этого в тот же EditText, похоже, не работает. Пользователь должен также иметь возможность вводить текст в EditText после фокусировки или щелчка по нему. OnTextChanged не вариант. У вас даже есть два таких слушателя?Android onFocusChange AND onClickListener
Я установил переменную receiverEditText в onCreateView и вызвал addListeners в onResume.
Java:
public void addListeners()
{
receiverEditText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
doTheThingFunction();
}
});
View.OnFocusChangeListener listener = new View.OnFocusChangeListener()
{
@Override
public void onFocusChange(View v, boolean hasFocus)
{
doTheThingFunction();
}
};
receiverEditText.setOnFocusChangeListener(listener);
}
XML:
<EditText
android:id="@+id/messageReceiver"
android:layout_width="match_parent"
android:layout_height="35dp"
android:padding="3dp"
android:hint="@string/recipient"
android:focusableInTouchMode="true"
android:focusable="true">
<requestFocus />
</EditText>
Я пробовал ваш код, но он по-прежнему не работает с прослушивателем onClick. Я также хочу вызвать функцию на слушателе onClick, а также в изменении onFocus. – Waltari
Могу ли я узнать, почему вы хотите прослушивать клик в редакторе Edittext? Вы можете использовать textWatcher. –
Вы можете вызвать функцию в усилении фокусировки, которую вы хотите выполнить onClick. –