我想让我的输入键完成动作,之后隐藏键盘。目前每当我输入内容并按下回车按钮时,EditText输入被清除以接受下一个输入,但是当键盘消失时,我必须再次单击EditText,以便键盘再次出现...
现在这是我的布局:
<EditText
android:id="@+id/etCommand"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/commandHint"
android:inputType="textNoSuggestions"
android:imeOptions="actionSend" >
</EditText>
代码:
etCommand = (EditText) findViewById(R.id.etCommand);
etCommand.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEND) {
sendCommand();
}
return false;
}
});
正如swayam建议我必须在true
内返回onEditorAction
,以便操作系统认为该操作已被处理并且不管它。
答案 0 :(得分:0)
快来看看这段代码:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
答案 1 :(得分:0)
为Enter键按下EditCxt的KeyListener并在任务完成后再次对edittext进行editfocus将是解决方案