美文网首页
editview显示光标不弹出软键盘

editview显示光标不弹出软键盘

作者: 唔唔唔84 | 来源:发表于2019-04-18 16:27 被阅读0次

    今天遇到个问题,就是EditView需要显示光标但是不弹出软键盘,结果要不就是直接都不显示要不就是都显示。

    网上找到了相关得,但是有点不如意,结合了两个才如我意。代码如下

    if (android.os.Build.VERSION.SDK_INT >10) {//4.0以上

        try {

    Class cls = EditText.class;

    Method setShowSoftInputOnFocus;

    setShowSoftInputOnFocus = cls.getMethod("setShowSoftInputOnFocus",

    boolean.class);

    setShowSoftInputOnFocus.setAccessible(true);

    setShowSoftInputOnFocus.invoke(tv_code,false);

    }catch (Exception e) {

    e.printStackTrace();

    }

    }

    然后再对editview添加焦点得监听

    tv_code.setOnFocusChangeListener(new View.OnFocusChangeListener() {

    @Override

        public void onFocusChange(View v,boolean hasFocus) {

    if(hasFocus){

    InputMethodManager imm = (InputMethodManager)tv_code.getContext()

    .getSystemService(Context.INPUT_METHOD_SERVICE);

    if (imm !=null) {

    imm.hideSoftInputFromWindow(tv_code.getWindowToken(),0);

    }                }

    }

    });

    这样得话,第一次还是会弹出软键盘,然后再在editview得父容器添加

    android:focusable="true"

    android:focusableInTouchMode="true"

    好了,这样不会弹出软键盘了。

    相关文章

      网友评论

          本文标题:editview显示光标不弹出软键盘

          本文链接:https://www.haomeiwen.com/subject/apytgqtx.html