当使用Edittext时,没有发送图标,修改软键盘的回车键为发送:
布局里面设置android:imeOptions="actionSend",android:singleLine="true";
发现,点击发送后,会回到全英文键盘,代码设置隐藏代码无效,点两次后才消失,后来发现是:
由于点击一次回车键,KeyEvent.ACTION_DOWN和KeyEvent.ACTION_UP都触发了View.OnKeyListener(),所以要加上event.getAction() == KeyEvent.ACTION_DOWN。
mEdtComment.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int keyCode, KeyEvent keyEvent) {
if (keyCode == KeyEvent.KEYCODE_ENTER && keyEvent.getAction() == KeyEvent.ACTION_DOWN) {
InputMethodManager imm = (InputMethodManager) view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm.isActive(view)) {
imm.hideSoftInputFromWindow(view.getApplicationWindowToken(), 0);
}
return true;
}
return false;
}
});