Android:EditText在'发送'后失去焦点

时间:2013-06-30 14:57:40

标签: android android-edittext

我正在开发一个消息传递应用程序,其中我有一个EditText供用户输入他的消息。我在键盘上使用setImeOptions()方法提供了“发送”按钮。但是,每当用户点击“发送”按钮时,EditText就会失去焦点。 (我对“焦点”一词表示怀疑,但我的意思是键盘消失了......)

我发现它有点不方便,因为用户必须再次点击EditText才能在每次发送后获得键盘。我在代码中尝试了editText1.requestFocus(),如下所示:

editText1.setOnKeyListener(new OnKeyListener() {
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                // If the event is a key-down event on the "send" button
                if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
                    // Perform action on key press
                    adapter.add(new OneComment(false, editText1.getText().toString()));
                    editText1.setText("");
                    editText1.requestFocus();
                    return true;
                }
                return false;
            }
        });

但这不起作用......请建议一个解决方法..谢谢:)

1 个答案:

答案 0 :(得分:2)

您可以尝试这样做

editText1.setOnEditorActionListener(new OnEditorActionListener() {        
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if(actionId == EditorInfo.IME_ACTION_SEND){
            editText1.setText("");
            editText1.requestFocus();
            InputMethodManager imm = (InputMethodManager)getSystemService(Service.INPUT_METHOD_SERVICE);
            imm.showSoftInput(editText1, 0);
        }
        return true;
    }
});