我是Android编程新手,但我已经做了一个小应用程序。它有一个EditText和一个Button, Okay。EditText 的输入设置为number。当用户点击enter键盘上的按钮时,我希望具有与单击相同的操作Okay。我怎样才能做到这一点?
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        
        
		
您可以分两步完成:
- 使用 Activity 的 onKeyDown() 方法捕获“输入”按钮按下。EditText 上的 TextWatcher 也可能有用。
- 然后使用 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   回答