我想在Android上显示“loading ...”消息。 我设法用下面的代码执行此操作,但问题是它一直显示“正在加载...”消息,即使页面已经加载。当我点击背景时它会消失,但这绝对不是我在使用此代码时的想法。
所以我想做的是显示加载消息正好3秒钟。
任何人都可以帮我解决这个问题吗?
public void onLoadResource (WebView view, String url) {
if (progressDialog == null) {
// in standard case YourActivity.this
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setMessage("Loading...");
progressDialog.show();
}
}
public void onPageFinished(WebView view, String url) {
try{
if (progressDialog.isShowing()) {
progressDialog.dismiss();
progressDialog = null;
}
}catch(Exception exception){
exception.printStackTrace();
}
}
答案 0 :(得分:0)
除非你确定加载完全只需要3秒,否则不要放一个精确的计时器。如果你从网上获取内容,那么我建议你使用asynctask并在onpreexecute()中显示加载对话框,并在onpostexecute()中关闭对话框。 这很有效。 其他 如果你确定然后放入wait(3000)并关闭对话框
答案 1 :(得分:0)
尝试这种方式:
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
if (progressDialog == null) {
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setMessage("Loading...");
progressDialog.show();
}
if(progress==100 && progressDialog.isShowing()){
progressDialog.dismiss();
progressDialog = null;
}
}
});