0

当我在键盘上单击 Enter 时(当我在第一个 EditView 中时),我想为另一个 EditView(而不是我正在使用的那个)打开键盘。

场景应该是这样的:我在键盘上为第一个 EditView 写了一些东西,我已经完成了,所以我按“Enter”,它打开了第二个 EditView 的键盘。

我尝试了不同的代码但没有成功,如果有人可以帮助我。

4

3 回答 3

0

如果我明白这里就是答案

editText.setImeOptions(EditorInfo.IME_ACTION_NEXT);
于 2014-08-13T17:21:20.897 回答
0

您基本上想在按 Enter 后将焦点从 1 EditText 切换到另一个。

这可以通过在第一个 EditText 上设置“setNextFocusDownId”选项来轻松完成。

firstEditText.setNextFocusDownId(R.id.secondEditTextId);

于 2014-08-13T17:34:43.700 回答
0

我通过像 Kasper 建议的那样使用“setNextFocusDownld”搜索找到,使用这个答案:Android Softkey's next button not getting focus to spinner

我使用的代码是:

mEditText.setNextFocusDownId(R.id.textView2b);
        mEditText.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
                    mEditText.clearFocus();
                    mEditText2.requestFocus();
                    return true;
                }
                return false;
            }
        });
        mEditText2.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
                    mEditText2.clearFocus();
                    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                    imm.hideSoftInputFromWindow(mEditText2.getWindowToken(), 0);
                    return true;
                }
                return false;
            }
        });
于 2014-08-13T18:01:42.500 回答