Ser*_*kan 3 android loading webview android-webview android-asynctask
我想这样做,进度对话框等待webview上的加载项.我怎么能做到哪个dialog.dismiss()事件取决于在webview上加载项目?
public class asynctask extends AsyncTask<Void, Void, Void> {
private ProgressDialog dialog = new ProgressDialog(WebActivity.this);
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
Run Code Online (Sandbox Code Playgroud)
在那里我该怎么办?
dialog.dismiss();
Run Code Online (Sandbox Code Playgroud)
对话消失,无需等待
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
dialog.setMessage("Loading..Please wait.");
dialog.show();
dialog.setCanceledOnTouchOutside(false);
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
webView = (WebView) findViewById(R.id.webView1);
Bundle extras = getIntent().getExtras();
String url=extras.getString("adres");
webView.setWebViewClient(new WebViewClient());
webView.loadUrl(url);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
new asynctask().execute();
Run Code Online (Sandbox Code Playgroud)
}
njz*_*zk2 20
不要使用AsyncTask,因为您不负责加载webview.如果要显示进度对话框,请按照以下步骤操作.
private ProgressDialog dialog = new ProgressDialog(WebActivity.this);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
webView = (WebView) findViewById(R.id.webView1);
Bundle extras = getIntent().getExtras();
String url=extras.getString("adres");
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
if (dialog.isShowing()) {
dialog.dismiss();
}
}
});
dialog.setMessage("Loading..Please wait.");
dialog.setCanceledOnTouchOutside(false);
dialog.show();
webView.loadUrl(url);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
}
Run Code Online (Sandbox Code Playgroud)
这个想法是你显示对话框,你开始加载网址,当webclient看到页面已经完成加载时,它会解除对话框.
| 归档时间: |
|
| 查看次数: |
12276 次 |
| 最近记录: |