#android #android-studio #android-edittext
#Android #android-studio #android-edittext
Вопрос:
Я хочу выполнить действие, когда пользователь нажимает return key (EnterKey)
в фокусе EditText
. Это единственное EditText
в моем фрагменте. Моя цель — получить текст из этого EditText
, очистить EditText
и дождаться следующего ввода.
Вот мой код:
...
addTodoEditText = rootView.findViewById(R.id.addTodo_EditText_FragmentTodo);
addTodoEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
doMyFunction(); //I wan't to do my work here.
return false;
}
});
...
и это мой EditText
:
<EditText
android:id="@ id/addTodo_EditText_FragmentTodo"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="Add New Todo"
android:lines="1"
android:imeOptions="actionDone"
android:inputType="text"
android:background="@drawable/checkbox_drawable"
android:textAppearance="@style/textRegular"/>
Как я могу решить эту проблему? Пожалуйста, помогите!
Ответ №1:
Добавьте это условие:
addTodoEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
doYourFunction();
return true;
}
return false;
}
});