안규 공부방

Android > Webview - progressDialog 띄우기 (로딩중 띄우기)

등록일 : 2017-07-06 17:46 조회수 : 93,511

먼저 WebView의 만드는 방법을 알아 봤다.

연결중입니다. 메세지를 띄운후 웹페이지를 완료 하면, ProgressDialog 창을 없애는 방법 입니다.

InforWebViewClient 클레스에서 처리해야 할 예제 입니다.
 
ProgressDialog mProgress; public class InfoWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { mProgress = new ProgressDialog(activity); mProgress.setProgressStyle(ProgressDialog.STYLE_SPINNER); mProgress.setMessage("연결중입니다...."); mProgress.setCancelable(false); mProgress.show(); view.loadUrl(url); if (mProgress.isShowing()) { mProgress.dismiss(); } return true; } // 웹페이지 로딩이 시작할 때 처리 @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { if (mProgress == null) { mProgress = new ProgressDialog(activity); mProgress.setProgressStyle(ProgressDialog.STYLE_SPINNER); //mProgress.setTitle("Loading..."); mProgress.setMessage("연결중입니다...."); mProgress.setCancelable(false); mProgress.show(); } } //웹페이지 로딩중 에러가 발생했을때 처리 @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { if (mProgress.isShowing()) { mProgress.dismiss(); } } //웹페이지 로딩이 끝났을 때 처리 @Override public void onPageFinished(WebView view, String url) { if (mProgress.isShowing()) { mProgress.dismiss(); } } }
	ProgressDialog mProgress;


    public class InfoWebViewClient extends WebViewClient 
    {
		@Override
		public boolean shouldOverrideUrlLoading(WebView view, String url) 
		{
			mProgress = new ProgressDialog(activity);
			mProgress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
			mProgress.setMessage("연결중입니다....");
			mProgress.setCancelable(false);
			
			mProgress.show();
			view.loadUrl(url);
					
			if (mProgress.isShowing()) {
				mProgress.dismiss();
			}

			return true;
		}
		
		// 웹페이지 로딩이 시작할 때 처리
		@Override
		public void onPageStarted(WebView view, String url, Bitmap favicon) {
			if (mProgress == null) {
				mProgress = new ProgressDialog(activity);
				mProgress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
				//mProgress.setTitle("Loading...");
				mProgress.setMessage("연결중입니다....");
				mProgress.setCancelable(false);
				mProgress.show();
			}
		}
		  
		//웹페이지 로딩중 에러가 발생했을때 처리
		@Override
		public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
			if (mProgress.isShowing()) {
				mProgress.dismiss();
			}
		}
		  
		//웹페이지 로딩이 끝났을 때 처리
		@Override
		public void onPageFinished(WebView view, String url) {
			if (mProgress.isShowing()) {
			mProgress.dismiss();
			}
		}
    }
	
※ 혹시 도움이 되셨다면 댓글에 한마디 남겨주세요!
작성자   비밀번호
자동글 방지     (자동글 방지 기능입니다.)
내용   댓글달기 
이메일 문의 : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.