如何为 EditText 的软键盘输入键定义自定义操作?
How to define custon action for EnterKey of Soft Keyboard for EditText?
我想在用户单击焦点 EditText
中的 return key (EnterKey)
时执行操作。
这是我片段中唯一的 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"/>
我该如何解决这个问题?请帮忙!
添加此条件:
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;
}
});
我想在用户单击焦点 EditText
中的 return key (EnterKey)
时执行操作。
这是我片段中唯一的 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"/>
我该如何解决这个问题?请帮忙!
添加此条件:
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;
}
});