zoukankan      html  css  js  c++  java
  • Android下强制打开键盘

    上次因为工作需求写了这个:

    Android下强制打开软键盘

    今天发现了一个更加好的办法:

    如下:

      InputMethodManager  mInputMethodManager = ((InputMethodManager) getActivity()
                    .getSystemService(Context.INPUT_METHOD_SERVICE));
    mInputMethodManager.showSoftInput(ed, 0);  

    搞定了。而且发现这种办法比较好,

    之前实现的时候,

      Timer timer = new Timer();
            timer.schedule(new TimerTask(){
                @Override
                public void run()
                {
                    InputMethodManager imm = ( InputMethodManager ) v.getContext().getSystemService( Context.INPUT_METHOD_SERVICE );
                    if (!imm.isActive(v)){
                        imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
                    }
                }
            }, 10);

    先不说性能怎么样。

    imm.isActive()我首先使用没有参数的,发现返回值不正确,然后把一个view传进去,才能实现,但是实现起来不是特别的完美,有时候不行,然后发现
     imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);有时候我是开着的键盘,我不需要关闭,还是帮我关了,终究是返回值不正确。
    imm.isActive()返回值一直是true;
    imm.isActive(view)虽然大都数时候正确,偶尔也是不行的。
    上面这个办法完美解决了、


  • 相关阅读:
    ENode 1.0
    ENode 1.0
    ENode 1.0
    canvas转图片
    Canvas API
    微信 js api[转]
    Dicom格式文件解析器[转]
    跟我学AngularJS:全局变量设置之value vs constant vs rootscope vs 服务[转]
    angularJS 事件广播与接收[转]
    RequireJs
  • 原文地址:https://www.cnblogs.com/itpepe/p/4835761.html
Copyright © 2011-2022 走看看