package com.keju.maomao.activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Button; import android.widget.ImageButton; import android.widget.TextView; import com.keju.maomao.CommonApplication; import com.keju.maomao.Constants; import com.keju.maomao.R; import com.keju.maomao.activity.base.BaseActivity; import com.umeng.analytics.MobclickAgent; /** * 网页浏览 * @author zhouyong * @version 创建时间:2013-12-5 上午10:28:11 */ public class WebviewActivity extends BaseActivity implements OnClickListener { private ImageButton ibLeft; private Button btnRight; private TextView tvTitle; private WebView webView; private View progress; private String url; private String name; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.webview); url = getIntent().getExtras().getString(Constants.EXTRA_DATA); name = getIntent().getExtras().getString("name"); findView(); fillData(); ((CommonApplication) getApplication()).addActivity(this); } @Override protected void onResume() { super.onResume(); MobclickAgent.onResume(this); } @Override protected void onPause() { super.onPause(); MobclickAgent.onPause(this); } private void findView() { ibLeft = (ImageButton) this.findViewById(R.id.ibLeft); ibLeft.setImageResource(R.drawable.ic_btn_left); ibLeft.setOnClickListener(this); btnRight = (Button) this.findViewById(R.id.btnRight); btnRight.setVisibility(View.INVISIBLE); tvTitle = (TextView) this.findViewById(R.id.tvTitle); tvTitle.setVisibility(View.VISIBLE); tvTitle.setText(name); tvTitle.setMaxWidth(220); tvTitle.setSingleLine(); ibLeft.setOnClickListener(this); progress = findViewById(R.id.progress); webView = (WebView) findViewById(R.id.webview); } private void fillData() { WebSettings webSettings = webView.getSettings(); webSettings.setBuiltInZoomControls(true); webSettings.setJavaScriptEnabled(true); webView.requestFocus();//使WebView内的输入框等获得焦点 webView.loadUrl(url); webView.setWebViewClient(new WebViewClient() { // 点击网页里面的链接还是在当前的webView内部跳转,不跳转外部浏览器 @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } //可以让webView处理https请求 @Override public void onReceivedSslError(WebView view, android.webkit.SslErrorHandler handler, android.net.http.SslError error) { handler.proceed(); }; public void onLoadResource(WebView view, String url) { }; @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); progress.setVisibility(View.GONE); } }); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK){ if (webView.canGoBack()) { webView.goBack(); // goBack()表示返回webView的上一页面,而不直接关闭WebView return true; }else { finish(); return true; } } return super.onKeyDown(keyCode, event); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.ibLeft: finish(); break; default: break; } } }