Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “自定义键盘”;输入“;安卓系统中的按钮_Java_Android_Eclipse - Fatal编程技术网

Java “自定义键盘”;输入“;安卓系统中的按钮

Java “自定义键盘”;输入“;安卓系统中的按钮,java,android,eclipse,Java,Android,Eclipse,我是Android编程新手,但我已经做了一些应用程序。它有一个编辑文本和一个按钮,好的。编辑文本的输入设置为number。当用户点击键盘上的enter按钮时,我希望执行与单击ok相同的操作。我怎样才能做到这一点?您可以通过两个步骤完成: 使用活动的onKeyDown()方法捕获“回车”按钮。EditText上的TextWatcher可能也很有用 然后使用InputMethodManager的hideOffInputFromWindow()方法隐藏软键盘 我没有给出任何代码片段,因为您可以轻松地用

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

您可以通过两个步骤完成:

  • 使用活动的onKeyDown()方法捕获“回车”按钮。EditText上的TextWatcher可能也很有用
  • 然后使用InputMethodManager的hideOffInputFromWindow()方法隐藏软键盘
    我没有给出任何代码片段,因为您可以轻松地用谷歌搜索这两点

    您可以分两步完成:

    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;
        }
    });
    
  • 使用活动的onKeyDown()方法捕获“回车”按钮。EditText上的TextWatcher可能也很有用
  • 然后使用InputMethodManager的hideOffInputFromWindow()方法隐藏软键盘
    我没有给出任何代码片段,因为您可以轻松地用谷歌搜索这两点

    像这样使用TextWatcher:

    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;
        }
    });
    
                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) {
    
    
                    }
    
                });
    

    这样,当您在编辑文本中写入内容时,只要按enter键,您就可以随心所欲了。

    像这样使用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) {
    
    
                    }
    
                });
    

    这样,当您在编辑文本中写入内容时,只要按enter键,您就可以随心所欲了。

    但是,请您针对我的问题编写一个代码段好吗?但是,请您针对我的问题编写一个代码段好吗?