为了账号安全,请及时绑定邮箱和手机立即绑定

进入页面后,按返回页面还是原页面。


private void init() {
		// TODO Auto-generated method stub
		webview=(WebView) findViewById(R.id.WebView);
		webview.loadUrl("http://www.baidu.com");  
//		webview.loadUrl("file:///android_assets/xxx.xml");
		//覆盖WEBVIE默认通过第三方软件或系统自带浏览器打开网页
		webview.setWebViewClient(new WebViewClient(){
		 @Override
		public boolean shouldOverrideUrlLoading(WebView view, String url) {
			// TODO Auto-generated method stub
			 webview.loadUrl(url);
			return true;
		}
			 
		});
		WebSettings settings=webview.getSettings();
		settings.setJavaScriptEnabled(true);
		//webview 加载优先使用缓存加载
		settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
		webview.setWebChromeClient(new WebChromeClient(){
			@Override
			public void onProgressChanged(WebView view, int newProgress) {
				// TODO Auto-generated method stub
				if(newProgress==100){
					closeDialog();
				}else{
					openDialog(newProgress);
				}
			}
		});
	}
	protected void openDialog(int newProgress) {
		// TODO Auto-generated method stub
		if(progressDialog==null){
			progressDialog=new ProgressDialog(MainActivity.this);
			progressDialog.setTitle("正在加载");
			progressDialog.setProgressStyle(progressDialog.STYLE_HORIZONTAL);
			progressDialog.setProgress(newProgress);
			progressDialog.show();
		}else{
			progressDialog.setProgress(newProgress);
		}
	}
	protected void closeDialog() {
		// TODO Auto-generated method stub
		if(progressDialog!=null&&progressDialog.isShowing()){
			progressDialog.dismiss();
			progressDialog=null;
		}
	}
	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		// TODO Auto-generated method stub
		if(keyCode==KeyEvent.KEYCODE_BACK){
			if(webview.canGoBack()){
//				Toast.makeText(this, webview.getUrl(), Toast.LENGTH_SHORT).show();
				webview.goBack();
				return true;
			}else{
				System.exit(0);
			}
		}
		return super.onKeyDown(keyCode, event);
	}


代码是按照视频里面写的,但是有时返回不了。不知道怎么了,求大神指点。

正在回答

3 回答

public boolean shouldOverrideUrlLoading(WebView view, String url) {

            // TODO Auto-generated method stub

             webview.loadUrl(url);

            return true;

        }

你把这个方法里面的webview.loadUrl换成view.loadUrl()试试,我感觉像是你这里给写错了。

0 回复 有任何疑惑可以回复我~

同意楼上说法

0 回复 有任何疑惑可以回复我~

应该是重定向的问题,老师也讲了。可以参考这个链接  http://www.tuicool.com/articles/6zmQZj

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第二门课(第1季)
  • 参与学习       111162    人
  • 解答问题       1457    个

本课程由浅入深地带您学会Android的常用控件的开发和使用

进入课程

进入页面后,按返回页面还是原页面。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信