Android收起虚拟键盘

关于收起虚拟键盘,网上能找到的大多是这个:

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);    
  2.         imm.hideSoftInputFromWindow(editText.getWindowToken(), 0) ;  

不过这有个问题,比如我们在一个页面中有很多editText,到最后提交的时候我们并不知道实际光标停留在哪个editText。除非一个一个遍历判断。那么该怎么办呢?我后来找到这样的方法:

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. InputMethodManager imm =  (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);   
  2. if(imm != null) {   
  3.       
[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(),    
  2.                        0);   
  3.                      }  

这个便不用提供绑定的editText。



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

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

MyActivity是当前的Activity

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

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

editview是输入框

在用关闭软键盘的代码时一定要注意,关闭之前是哪个控件触发的软键盘还是Activity触发的软键盘。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值