您的位置:首页 > 移动开发 > Android开发

Android 使用反射调用Hide方法setShowSoftInputOnFocus

2017-07-31 10:39 549 查看
使用反射调用系统Hide方法。

首先看一下setShowSoftInputOnFocus方法的描述

Sets whether the soft input method will be made visible when this TextView gets focused. The default is true.
Hide:
2696
2697    @android.view.RemotableViewMethod
2698    public final void setShowSoftInputOnFocus(boolean show) {
2699        createEditorIfNeeded();
2700        mEditor.mShowSoftInputOnFocus = show;
2701    }


从以上代码可以看到,setShowSoftInputOnFocus方法是Hide,即不可见的,采用普通方式根本调用不了。

使用反射调用的方法如下:

private void setShowSoftInputOnFocus(boolean show) {
try {
Class<EditText> cls = EditText.class;
Method setShowSoftInputOnFocus;
setShowSoftInputOnFocus = cls.getMethod("setShowSoftInputOnFocus",
boolean.class);
setShowSoftInputOnFocus.setAccessible(true);
setShowSoftInputOnFocus.invoke(this, show);
} catch (Exception e) {
e.printStackTrace();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: