当用户点击dialog中的输入框用软键盘输入文本的时候点击了"返回好友列表"的按钮,返回到好友列表时软键盘无法关闭.

于是我才上网找了一些关于Android如何隐藏输入法的网页看了一下.发现普遍的方法如下:

((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).

hideSoftInputFromWindow(MyActivity.this.getCurrentFocus().getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);

MyActivity是当前的Activity

当时当我将代码加入到返回按钮的点击事件后发现,当用户点击了返回按钮时,App异常退出,也没有报错.这是为什么呢?于是我查询了一下Android开发官网.发现实现以上功能的代码应该这样写:

((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE)).

hideSoftInputFromWindow(editview.getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);

editview是输入框

之所以用第二段代码能够实现所需功能,是因为第二段代码是关闭整队输入框的输入法.而第一段代码针对的是整个Acitivity.而实际条件下输入法是在输入框获得焦点时打开的.而不是在Activity全局打开的,所一第一段代码无法起效,而且会异常退出.

当然在某些游戏中用到的输入法软键盘也许是针对Activity全局打开的.所以在用关闭软键盘的代码时一定要注意,关闭之前是哪个控件触发的软键盘还是Activity触发的软键盘


更多相关文章

  1. Android(安卓)如何在strings.xml中放置html文本
  2. 7.Android(安卓)Preferences的使用
  3. Android两行代码搞定ViewPager的过渡动画
  4. Android(安卓)proguard.flags
  5. ROOT android 原理。 基于(zergRush)
  6. android 代码混淆proguard
  7. Android在诸如editText等组件设置输入法半屏幕显示的说明
  8. 关于Android(安卓)27.1.1版本不兼容问题 --解决support-annotati
  9. Android(安卓)Studio 新建项目 只有.idea文件夹

随机推荐

  1. ubuntu下安装android ADT 插件
  2. 第二章:根据oschina开源的app代码快速构建
  3. Android实现EditText输入金额
  4. android IPC机制讲解(一)
  5. React Native嵌入到Android原生应用中、
  6. Android中级教程之----Log图文详解(Log.v
  7. Android的界面提醒之对话框Dialog
  8. Android(安卓)内核--Binder架构分析
  9. android ListView根据字母排序和定位
  10. Erlang实现的百度云推送Android服务端实