1

我有一个EditText,当用户按下键盘上的“完成”时,我需要它失去焦点并使键盘消失。我的代码如下:

etFromCustom.setOnEditorActionListener(new OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_DONE) {
            ((LinearLayout) findViewById(R.id.linlay_dummy)).requestFocus(); //this is what I have to do - send focus to a dummy layout
            return true;
        }               
        return false;
    }
}); 

我知道,默认情况下,键盘上的“完成”键隐藏了软件键盘,但由于我覆盖了它,它不再起作用:EditText确实失去焦点,但键盘并没有消失,而是从数字一到四分之一。

4

2 回答 2

1

尝试这个,

在您的 xml 中添加此代码。特别是EditText在你的 xml 文件中。

android:imeOptions="actionDone"
于 2013-02-11T10:19:25.823 回答
0

试试下面的代码

放入创建活动

private InputMethodManager imm;
imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);



DoneButton.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            try {
            //  yourEditTextView.setText("");

                imm.hideSoftInputFromWindow(
                        searchEditTextView.getWindowToken(), 0);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
于 2013-02-11T10:20:37.003 回答