如何使用android中的数据设置加载活动的进度条

这是我第一次做Url加载的课程。

public class HelloWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } } 

这是我的活动类,其中数据在Web视图中替换。

 public class detailedview extends Activity { WebView mWebView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.detailedview); GetSet gs = new GetSet(); String title = gs.getTitle(); String desc = gs.getDesc(); mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setBuiltInZoomControls(true); mWebView.getSettings().setSupportZoom(true); mWebView.getSettings().setTextSize(TextSize.SMALLER); mWebView.loadDataWithBaseURL("", "

" + title+"


"+ desc + "


", "text/html", "utf-8", ""); mWebView.setWebViewClient(new HelloWebViewClient()); } }

我想在我的活动中加载进度条来加载数据,我已经尝试了很多,但我不能这样做。

您能否编写代码或发布代码,以便在根据我的代码加载数据时可以有一个进度条。

将此代码添加到您的代码中

 ProgressDialog pd = new ProgressDialog(detailedview .this); ^^^^^^^^^^^^ pd.setMessage("Loading..."); pd.show(); <----- mWebView.setWebViewClient(new WebViewClient() { ^^^^^^^^ @Override public void onPageFinished(WebView view, String url) { <----- super.onPageFinished(view, url); pd.dismiss(); <----- } }); ------------------------------------------------------------------------------- public class detailedview extends Activity { WebView mWebView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.detailedview); ProgressDialog pd = new ProgressDialog(detailedview .this); pd.setMessage("Loading..."); pd.show(); mWebView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); pd.dismiss(); } }); GetSet gs = new GetSet(); String title = gs.getTitle(); String desc = gs.getDesc(); mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setBuiltInZoomControls(true); mWebView.getSettings().setSupportZoom(true); mWebView.getSettings().setTextSize(TextSize.SMALLER); mWebView.loadDataWithBaseURL("", "

" + title+"


"+ desc + "

", "text/html", "utf-8", ""); // mWebView.setWebViewClient(new HelloWebViewClient()); } }

您可以使用以下代码

 public class Grab extends Activity { WebView view; private ProgressDialog progressDialog = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.grab); view = (WebView) findViewById(R.id.WebView01); view.setBackgroundColor(0); // set the background transparent progressDialog = ProgressDialog.show(view.getContext(), "Loading...", "Loading..."); progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER ); view.setWebChromeClient(new MyWebChromeClient()); view.getSettings().setJavaScriptEnabled(true); view.setWebViewClient(new MyWebViewClient()); view.loadUrl("http://www.wepware.com/web/apps/jots.do"); } private class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) //override WebViewClient method to open url in activity { view.loadUrl(url); return true; } } private class MyWebChromeClient extends WebChromeClient { @Override public void onProgressChanged(WebView view, int newProgress) { if(progressDialog!=null){ if ( newProgress >=80 ) { progressDialog.dismiss(); } else { progressDialog.setMessage(newProgress + " % loaded"); } } super.onProgressChanged(view, newProgress); } } } 

首先让一个类说下载WebPageTask

把它放在你的oncreate方法中

GetSet gs = new GetSet();

  String title = gs.getTitle(); String desc = gs.getDesc(); mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setBuiltInZoomControls(true); mWebView.getSettings().setSupportZoom(true); mWebView.getSettings().setTextSize(TextSize.SMALLER); 

现在像这样制作那个类的对象

DownloadWebPageTask task = new DownloadWebPageTask(); task.execute(); 注:** task.execute(); 将调用你的类“DownloadWebPageTask”你可以从任何代码行开始这个写我现在把它放在onCreate方法

这是你的课

 private class DownloadWebPageTask extends AsyncTask { private final ProgressDialog dialog = new ProgressDialog(Home.this); // can use UI thread here protected void onPreExecute() { this.dialog.setMessage("Loading..."); this.dialog.show(); } @Override protected String doInBackground(String... urls) { String response = ""; mWebView.loadDataWithBaseURL("", "

" + title+"


"+ desc + "

", "text/html", "utf-8", ""); return response; } @Override protected void onPostExecute(String result) { if (this.dialog.isShowing()) { this.dialog.dismiss(); } mWebView.setWebViewClient(new HelloWebViewClient()); } }

注意:**每当你使用任何进度条而不是post excute方法时,所有后台进程都会完成,直到你的进度条显示为止,一旦完成数据下载,就会调用onPostExcute方法,并从外部服务器下载数据将存储在webview中,或者你可以做任何事情。 如果你仍然找到任何查询,请告诉我Best of luck Aamirkhan I.