Android-WebView无法弹出软键盘问题解决

问题所在

继承WebView时,注意构造方法 -** defStyleAttr不能传0:**

image

正确的写法

 public SWebview(Context context) {
        super(context);
        init(context, null);
    }

    public SWebview(Context context, AttributeSet attrs) {
        super(context, attrs);
        init(context, attrs);
    }

    public SWebview(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init(context, attrs);
    }

    @TargetApi(Build.VERSION_CODES.LOLLIPOP)
    public SWebview(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
        init(context, attrs);
    }

    public SWebview(Context context, AttributeSet attrs, int defStyleAttr, boolean privateBrowsing) {
        super(context, attrs, defStyleAttr, privateBrowsing);
        init(context, attrs);
    }

    /**
     * 初始化方法
     * @param context
     * @param attrs
     */
    private void init(Context context, AttributeSet attrs){
        if (null != attrs){
            intStyledAttributes(context, attrs);
        }
        WebviewUtil.initWebView(this, null, null,
                new MyWebChromClient(context), new MyWebClient(context));
        settings = this.getSettings();
        lastFonSize = fontSize = WebviewUtil.getTextZoom(this);
    }

怎么说了,看来这个构造函数有讲究呀!小喵喵~~~~~~

另外可能还需要你设置如下属性requestFocus()

  ///< 触摸焦点起作用.如果不设置,则在点击网页文本输入框时,不能弹出软键盘及不响应其他的一些事件。
        detialWv.requestFocus();
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容