如何处理视图的硬件键盘输入



我正在用以下代码编程创建EditView:

    mSearchBar = new EditText(this);
    mSearchBar.setHint("Enter sim name.");
    mSearchBar.setLayoutParams(new LayoutParams(
                layoutWidth,
                LayoutParams.WRAP_CONTENT));
    mSearchBar.setOnEditorActionListener(mEditorAction);
    mSearchBar.setImeOptions(EditorInfo.IME_ACTION_SEARCH);
    mSearchBar.setInputType(
              InputType.TYPE_CLASS_TEXT
            | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
            );

然后我有mEditorAction。。。

private OnEditorActionListener mEditorAction = new OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if(actionId == EditorInfo.IME_ACTION_SEARCH) {
            gotoSim(v.getText().toString());
            InputMethodManager imm = (InputMethodManager)SLMapTest.this
                .getSystemService(SLMapTest.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
            mSearch.collapseActionView();
            return true;
        }
        return false;
    }
};

然而,这个代码(我从谷歌上得到的)显然不适合硬件键盘。我能做些什么来解决这个问题?

onKeyListener()附加到视图,然后在侦听器中

密钥内侦听器if(keyCode == KeyEvent.KEYCODE_ENTER)//do something

最新更新