Android使用WebView不加载页面(页面空白)

xiaoxiao2021-02-28  75

Android使用WebView不加载页面(页面空白)

先上代码

使用ButterKnife进行注解 public class MainActivity extends AppCompatActivity { public static final String TAG = "MainActivity"; @Bind(R.id.wv) WebView wv; @Bind(R.id.bt) Button bt; private boolean isLoadUrl = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); initData(); } @Override protected void onDestroy() { super.onDestroy(); } private void initData() { } @OnClick(R.id.bt) public void onViewClicked(View view) { switch (view.getId()) { case R.id.bt: wv.loadUrl("https://www.baidu.com"); Log.i(TAG, "initData: "); wv.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { Log.d("MainActivity ","shouldOverrideUrlLoading"+ url); view.loadUrl(url); return true; } @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { if (!isLoadUrl) { isLoadUrl = true; view.loadUrl(url); } super.onPageStarted(view, url, favicon); } @Override public void onPageFinished(WebView view, String url) { Toast.makeText(MainActivity.this, "网页加载完毕", Toast.LENGTH_SHORT).show(); Log.d("MainActivity ", "onPageFinished 网页加载完毕"+url); super.onPageFinished(view, url); } }); break; default: break; } } }

再说问题

使用WebView的过程中,经常发现打开的网页是个空的,并且会在Monitor中看见大量报错就像这个样子。

不必慌,请对这些报错视而不见。

网页显示为空的原因,可能只是“你的网络太慢了,并且没有进度条来展示当前页面的加载进度,导致开发者产生WebView加载网页失败的错觉”

可以在适当位置添加进度展示,就像上面的代码展示的那样。

转载请注明原文地址: https://www.6miu.com/read-25637.html

最新回复(0)