0

我是Android编程新手,但我已经做了一个小应用程序。它有一个EditText和一个Button, Okay。EditText 的输入设置为number。当用户点击enter键盘上的按钮时,我希望具有与单击相同的操作Okay。我怎样才能做到这一点?

4

3 回答 3

3
mEditText.setOnKeyListener(new OnKeyListener() {           

    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {

        if (event.getAction() == KeyEvent.ACTION_DOWN && 
            keyCode == KeyEvent.KEYCODE_ENTER) {

            // do what you do in "Okay" button
            return true;
        }
        return false;
    }
});
于 2013-04-27T15:15:44.117 回答
1

您可以分两步完成:

  1. 使用 Activity 的 onKeyDown() 方法捕获“输入”按钮按下。EditText 上的 TextWatcher 也可能有用。
  2. 然后使用 InputMethodManager 的 hideSoftInputFromWindow() 方法隐藏软键盘。

我没有给出任何代码片段,因为您可以轻松地用谷歌搜索这两点

于 2013-04-27T14:38:30.667 回答
1

像这样使用 TextWatcher:

            mEditText.addTextChangedListener(new TextWatcher() {

                @Override
                public void afterTextChanged(Editable s) {
                     for(int i = s.length(); i > 0; i--){

                            //examine if user presses enter
                            if(s.subSequence(i-1, i).toString().equals("\n"))
                                 //do your action here

                        }

                }

                @Override
                public void beforeTextChanged(CharSequence s, int start,
                        int count, int after) {


                }

                @Override
                public void onTextChanged(CharSequence s, int start,
                        int before, int count) {


                }

            });

这样一来,只要在 EditText 中书写时按下回车键,您就可以随心所欲地进行操作。

于 2013-04-27T15:22:08.400 回答