Issue in handling Key ENTER event in search interface of an android fragment
我在我的一个片段中使用搜索界面。 我想在搜索界面的edittext中处理"Enter KeyEvent"。每当用户在搜索的edittext中按Enter键时我想做那个时间的事情。 我可以使用onTextSubmit()方法但是当edittext为空时它没有检测到回车键按下事件。
但是我想在编辑文本为空时处理回车键事件。有人可以帮我吗?
在这里,我使用了它们,
首先是Enter键执行某项任务,同时单击Enter。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <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; } }); |
其次是Search键搜索某些文本。
1 2 3 4 5 6 7 8 9 10 11 12 13 | <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; } }); |
详细了解所有imeOptions。
你可以这样检查:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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; } }); |