Android 仅显示一次网页加载进度的WebView
类似的问题也没用 我已经为我的Android 仅显示一次网页加载进度的WebView,android,webview,Android,Webview,类似的问题也没用 我已经为我的main活动实现了一个简单的WebView,它在应用程序启动时加载一个特定的网页。我有一个文本视图,显示当前网页的加载百分比。代码如下 public class MainActivity extends AppCompatActivity { WebView webView; final String homeUrl = "https://example.com"; String lastAccessedUrl = homeUrl; WebChromeClient
main活动
实现了一个简单的WebView
,它在应用程序启动时加载一个特定的网页。我有一个文本视图
,显示当前网页的加载百分比。代码如下
public class MainActivity extends AppCompatActivity {
WebView webView;
final String homeUrl = "https://example.com";
String lastAccessedUrl = homeUrl;
WebChromeClient webChromeClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
webView = (WebView) findViewById(R.id.browser);
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setBuiltInZoomControls(true);
settings.setLoadsImagesAutomatically(false);
settings.setLoadWithOverviewMode(true);
settings.setUseWideViewPort(true);
webView.canGoBack();
webView.canGoForward();
webView.setWebViewClient(new MyBrowser());
webView.loadUrl(homeUrl);
webChromeClient = new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
TextView textView = (TextView) findViewById(R.id.loadingPercentage);
textView.setText(""+newProgress);
}
};
webView.setWebChromeClient(webChromeClient);
}
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
lastAccessedUrl = url;
view.loadUrl(url);
return true;
}
}
}
我面临的问题是,TextView
仅在网页第一次加载时显示加载百分比。然后将其永久设置为100。然后,如果我单击第一页上的任何链接,TextView
不会从零开始
如果你投了反对票,一定要在评论中说明理由。
任何帮助都将不胜感激。您的代码没有此类问题。确保您正在单击url。如果单击展开视图,它只会展开以显示某些数据。它不会作为新的url加载。点击www.stackoverflow.com,检查它是否显示了加载百分比。我不认为这是导致问题的原因,但您应该将
TextView TextView=(TextView)findViewById(R.id.loadingPercentage)在进程更改回调外部的onCreate()
中编写。如果你只找到一次活动的视图,你就可以继续更改其中的文本,而不必每次都重新找到它。@FoamyGuy这是一个明显的愚蠢的错误。谢谢你指出这一点。这就是问题所在。非常感谢。我明白了。