首页 > 代码库 > 【XFeng安卓开发笔记】edittext中怎样禁止系统自带键盘弹出但光标还在

【XFeng安卓开发笔记】edittext中怎样禁止系统自带键盘弹出但光标还在

网上又不少方法,均告失败,最终找到以下的方法:

 

// 隐藏系统键盘    public void hideSoftInputMethod(EditText ed) {        getWindow().setSoftInputMode(                WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);        int currentVersion = android.os.Build.VERSION.SDK_INT;        String methodName = null;        if (currentVersion >= 16) {            // 4.2            methodName = "setShowSoftInputOnFocus";        } else if (currentVersion >= 14) {            // 4.0            methodName = "setSoftInputShownOnFocus";        }        if (methodName == null) {            ed.setInputType(InputType.TYPE_NULL);        } else {            Class<EditText> cls = EditText.class;            Method setShowSoftInputOnFocus;            try {                setShowSoftInputOnFocus = cls.getMethod(methodName,                        boolean.class);                setShowSoftInputOnFocus.setAccessible(true);                setShowSoftInputOnFocus.invoke(ed, false);            } catch (NoSuchMethodException e) {                ed.setInputType(InputType.TYPE_NULL);                e.printStackTrace();            } catch (IllegalAccessException e) {                // TODO Auto-generated catch block                e.printStackTrace();            } catch (IllegalArgumentException e) {                // TODO Auto-generated catch block                e.printStackTrace();            } catch (InvocationTargetException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }    }

 

【XFeng安卓开发笔记】edittext中怎样禁止系统自带键盘弹出但光标还在