我正在我的一个片段中使用搜索界面。我想在搜索界面的编辑文本中处理"输入密钥事件"。每当用户在搜索的编辑文本中按回车键时,我都想在那个时候做某事。我可以使用onTextSubmit()方法,但是当编辑文本为空时,它不会检测到输入键事件。
但是我想在编辑文本为空时处理 enter 键事件。有人可以帮助我吗?
你可以通过这个检查:
yourEditView.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// If the event is a key-down event on the "enter" button
if ((event.getAction() == KeyEvent.ACTION_DOWN)
&& (keyCode == KeyEvent.KEYCODE_ENTER)) {
// Perform action on Enter key press
if(yourEditView.isEmpty()&&yourEditView.lengh()==0){
// Perform your task here
}
return true;
}
return false;
}
});
在这里我都用过它们,
首先是让 输入键 在单击输入时执行一些任务。
<EditText android:imeOptions="actionDone"
android:inputType="text"/>
editText.setOnKeyListener(new OnKeyListener()
{
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if (event.getAction() == KeyEvent.ACTION_DOWN)
{
switch (keyCode)
{
case KeyEvent.KEYCODE_DPAD_CENTER:
case KeyEvent.KEYCODE_ENTER:
addCourseFromTextBox();
return true;
default:
break;
}
}
return false;
}
});
第二个是搜索键来搜索一些文本。
<EditText android:imeOptions="actionSearch"
android:inputType="text"/>
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
performSearch();
return true;
}
return false;
}
});
详细了解所有 ime选项。