Android问题汇总(遥远的回忆过去)

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

2019-11-12  本文已影响0人  MonkeyLei

问题所在

继承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();
上一篇 下一篇

猜你喜欢

热点阅读