2011-08-26 98 views
7

嗯,当用户在编辑文本字段后按下“确定”按钮时,我试图阻止软键盘关闭。 其实,我试图实现的是:当按下“ok”按钮时,该字段被解析,如果有效,它会启动另一个活动。 这很简单。按下输入键时保持软键盘打开

但是,当该字段无效时,我希望软键盘保持打开状态。 这就是......地狱更复杂。 如果有人知道如何实现这样的事情...

在此先感谢。

编辑:我的意思是确定按钮是软键盘上的确定按钮。

回答

12

连接OnEditorActionListener你的文本字段,并从其onEditorAction方法,当actionId等于IME_ACTION_DONE返回true。这将防止隐藏软键盘:

EditText txtEdit = (EditText) findViewById(R.id.txtEdit); 
txtEdit.setOnEditorActionListener(new OnEditorActionListener() { 

    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
    if (actionId == EditorInfo.IME_ACTION_DONE) { 
     // your additional processing... 
     return true; 
    } else { 
     return false; 
    } 
    } 

}); 
+1

根据您的EditText'安卓imeOptions'值,你可能需要检查actionId对'IME_NULL','IME_ACTION_GO'等 – Idolon

+0

尝试过了,它的工作完美! – Redwarp

+0

完美工作!一直在寻找这个。 – zeitue

相关问题