WebView界面传递可以传入链接,也可以传入对象,在传入对象或集合时我们必须在实体类中实现implenments Serializable*
第一种方式:对象的传递方式
Intent intent = new Intent(MainActivity.this,DetailsActivity.class);
intent.putExtra("newsDataBean", newsDataList.get(position));
startActivity(intent);
跳转到WebView的界面
public class DetailsActivity extends Activity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_details);
webView = (WebView) findViewById(R.id.webView);
Intent intent = getIntent();
NewsDataBean newsDataBean=(NewsDataBean) intent.getSerializableExtra("newsDataBean");
// 设置作为客户端存在,界面跳转只在自己应用程序中
webView.setWebChromeClient(new WebChromeClient());
initWebViewSetting();
//加载链接
webView.loadUrl(newsDataBean.getCommentsUrl());
}
/**
* 对webView做初始化设置
*/
@SuppressLint("SetJavaScriptEnabled")
@SuppressWarnings("deprecation")
private void initWebViewSetting() {
// 获取设置对象
WebSettings settings = webView.getSettings();
// 设置webView的缓存方式 设置为默认方式
// 默认如果有缓存,并且缓存未过期,使用缓存,否则使用网络
settings.setCacheMode(WebSettings.LOAD_DEFAULT);
// 设置支持js代码
settings.setJavaScriptEnabled(true);
// 设置缩放模式 缩放到最小
settings.setDefaultZoom(ZoomDensity.FAR);
// 设置字体大小
settings.setTextSize(TextSize.SMALLER);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
// 判断我的界面,如果在里边一层,退一层,如果最外层
if (webView.canGoBack()) {
// 后退
webView.goBack();
} else {
finish();
}
}
return true;
}
}