Android Webview不会从按钮侦听器加载网址

SaweyHD:

它加载网站,但仅当它不在动作侦听器中时才加载。即使我在onCreate方法中向下加载url方式,它也可以工作。我已经检查了Webview是否不可见,按钮侦听器也起作用。

经过几个小时的编码,问题开始了

WebView wbvCheckURL;
Button btnSearch;

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        wbvCheckURL = findViewById(R.id.wbvCheckURL);
        btnSearch = findViewById(R.id.btnSearch);
        
        wbvCheckURL.setWebChromeClient(new WebChromeClient() {
            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                ...
            }

            @Override
            public void onReceivedTitle(WebView view, String title) {
                ...
            }
        });
        wbvCheckURL.getSettings().setJavaScriptEnabled(true);
        wbvCheckURL.setWebViewClient(new WebViewClient());
        
        // When i do it like this it works:
        // wbvCheckURL.loadUrl("http://www.google.de");

        btnSearch.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                wbvCheckURL.loadUrl("http://www.google.de");

                hideKeyboard(v);
                LoadCode();
            }
        });
    }

SaweyHD:

解决方案是将其加载到线程中

创建实例并启动线程:

LoadURL  t = new LoadURL();
t.start();

线程类:

class LoadURL extends Thread {
public void run() {
    Classname.wbvCheckURL.post(new Runnable() {
           public void run() {
               Classname.wbvCheckURL.loadUrl("http://www.google.de");
           }
    });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章