最近在写一个聊天APP,遇到了个问题,当在文本框输入文字后,点击旁边的发送按钮,因为EditText失去焦点而关闭软键盘。为了解决这个问题,Google了半天无果,一开始的解决办法是点击按钮后,重新弹出软键盘
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
这个方法有个缺点,就是软键盘关闭再重新打开会出现闪烁,影响体验。后来在stackoverflow的站内搜索找到了方法。在按钮的OnClick中加入如下代码,editInput就是文本框
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
imm.showSoftInput(edtInput, InputMethodManager.SHOW_FORCED);
edtInput.requestFocus();
这样就可以像微信那样,点击发送软键盘也不会关闭
stackoverflow原帖:点击打开链接