How To Set Progress Bar For Loading Activity With Data In Android
Solution 1:
add this code to your code
ProgressDialogpd=newProgressDialog(detailedview .this);
^^^^^^^^^^^^
pd.setMessage("Loading...");
pd.show(); <-----
mWebView.setWebViewClient(newWebViewClient() {
^^^^^^^^
@OverridepublicvoidonPageFinished(WebView view, String url) { <-----
super.onPageFinished(view, url);
pd.dismiss(); <-----
}
});
-------------------------------------------------------------------------------
publicclassdetailedviewextendsActivity
{
WebView mWebView;
@OverridepublicvoidonCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.detailedview);
ProgressDialogpd=newProgressDialog(detailedview .this);
pd.setMessage("Loading...");
pd.show();
mWebView.setWebViewClient(newWebViewClient() {
@OverridepublicvoidonPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
pd.dismiss();
}
});
GetSetgs=newGetSet();
Stringtitle= gs.getTitle();
Stringdesc= 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("", "<p align=\"justify\"><b> " + title+"</p></b><p align=\"justify\"><br>"+ desc + "</p></br>", "text/html", "utf-8", "");
// mWebView.setWebViewClient(new HelloWebViewClient());
}
}
Solution 2:
You can use below code
publicclassGrabextendsActivity {
WebView view;
privateProgressDialogprogressDialog=null;
@OverridepublicvoidonCreate(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(newMyWebChromeClient());
view.getSettings().setJavaScriptEnabled(true);
view.setWebViewClient(newMyWebViewClient());
view.loadUrl("http://www.wepware.com/web/apps/jots.do");
}
privateclassMyWebViewClientextendsWebViewClient {
@OverridepublicbooleanshouldOverrideUrlLoading(WebView view, String url)//override WebViewClient method to open url in activity
{
view.loadUrl(url);
returntrue;
}
}
privateclassMyWebChromeClientextendsWebChromeClient {
@OverridepublicvoidonProgressChanged(WebView view, int newProgress) {
if(progressDialog!=null){
if ( newProgress >=80 ) {
progressDialog.dismiss();
} else {
progressDialog.setMessage(newProgress + " % loaded");
}
}
super.onProgressChanged(view, newProgress);
}
}
}
Solution 3:
first make one class say it DownloadWebPageTask
put this in ur oncreate method
GetSet gs = new GetSet();
Stringtitle= gs.getTitle();
Stringdesc= 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);
now make an object of that class like this
DownloadWebPageTask task = new DownloadWebPageTask(); task.execute(); Note:**task.execute(); will call ur class "DownloadWebPageTask" u can start this from any line of code write now i have put this in onCreate Method
and here is ur class
privateclassDownloadWebPageTaskextendsAsyncTask<String, Void, String> {
private final ProgressDialog dialog = newProgressDialog(Home.this);
// can use UI thread hereprotectedvoidonPreExecute() {
this.dialog.setMessage("Loading...");
this.dialog.show();
}
@OverrideprotectedStringdoInBackground(String... urls) {
String response = "";
mWebView.loadDataWithBaseURL("", "<p align=\"justify\"><b> " + title+"</p></b><p align=\"justify\"><br>"+ desc + "</p></br>", "text/html", "utf-8", "");
return response;
}
@OverrideprotectedvoidonPostExecute(String result) {
if (this.dialog.isShowing()) {
this.dialog.dismiss();
}
mWebView.setWebViewClient(newHelloWebViewClient());
}
}
Note:**Whenever u use any progress bar than in on post excute method all background process are done till than ur progress bar will be displyed and as soon as data downloading is completed than onPostExcute method will be call.and data downloaded from external server will be stored in webview or u can do any thing with that. If u still find any query than tell me Best Of luck Aamirkhan I.
Post a Comment for "How To Set Progress Bar For Loading Activity With Data In Android"