在安卓片段的搜索界面中处理密钥输入事件时出现问题



我正在我的一个片段中使用搜索界面。我想在搜索界面的编辑文本中处理"输入密钥事件"。每当用户在搜索的编辑文本中按回车键时,我都想在那个时候做某事。我可以使用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选项。

最新更新