package com.amlogic.tzr.charismatic_yichang.activity; import android.content.Context; import android.os.Bundle; import android.support.v7.widget.Toolbar; import android.util.Log; import android.view.MenuItem; import android.webkit.WebSettings; import android.webkit.WebView; import com.amlogic.tzr.charismatic_yichang.BaseActivity; import com.amlogic.tzr.charismatic_yichang.R; import com.amlogic.tzr.charismatic_yichang.bean.NewsDetailBean; import java.util.List; import cn.bmob.v3.BmobQuery; import cn.bmob.v3.listener.FindListener; public class NewsDetailActivity extends BaseActivity { private static final String TAG = "NewsDetailActivity"; private Context mContext; private Toolbar mToolbar; // private TextView tv_title, tv_time, tv_source; private WebView contentView; private String news_id; private String news_title; private BmobQuery<NewsDetailBean> bmobQuery; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_news_detail); mContext = NewsDetailActivity.this; Bundle bundle = getIntent().getExtras(); if (bundle != null) { news_id = bundle.getString("news_id"); news_title = bundle.getString("news_title"); Log.e(TAG, "news_title=" + news_title); } initView(); getData(); } private void initView() { final Toolbar toolbar = (Toolbar) findViewById(R.id.tl_nda_top); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); // tv_title = (TextView) findViewById(R.id.tv_nda_newsTitle); // tv_title.setText(news_title); // tv_source = (TextView) findViewById(R.id.tv_nda_source); // tv_time = (TextView) findViewById(R.id.tv_nda_time); contentView = (WebView) findViewById(R.id.tv_nda_content); WebSettings webSettings = contentView.getSettings(); webSettings.setJavaScriptEnabled(true); //支持内容重新布局 webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); //将图片调整到适合webview的大小 webSettings.setUseWideViewPort(false); // 缩放至屏幕的大小 webSettings.setLoadWithOverviewMode(true); //支持自动加载图片 webSettings.setLoadsImagesAutomatically(true); } private static String getHtml(String tv_title, String tv_time, String tv_source, String content) { final StringBuilder sb = new StringBuilder(); sb.append("<!DOCTYPE html>"); sb.append("<html dir=\"ltr\" lang=\"zh\">"); sb.append("<head>"); sb.append("<meta name=\"viewport\" content=\"width=100%; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;\" />"); sb.append("<link rel=\"stylesheet\" href='file:///android_asset/style.css' type=\"text/css\" media=\"screen\" />"); sb.append("</head>"); sb.append("<body style=\"padding:0px 8px 8px 8px;\">"); sb.append("<div id=\"pagewrapper\">"); sb.append("<div id=\"mainwrapper\" class=\"clearfix\">"); sb.append("<div id=\"maincontent\">"); sb.append("<div class=\"post\">"); sb.append("<div class=\"posthit\">"); sb.append("<div class=\"postinfo\">"); sb.append("<h2 class=\"thetitle\">"); sb.append("<a>"); sb.append(tv_title); sb.append("</a>"); sb.append("</h2>"); sb.append(tv_source + " @ " + tv_time); sb.append("</div>"); sb.append("<div class=\"entry\">"); sb.append(content); sb.append("</div>"); sb.append("</div>"); sb.append("</div>"); sb.append("</div>"); sb.append("</div>"); sb.append("</div>"); sb.append("</body>"); sb.append("</html>"); return sb.toString(); } public void getData() { bmobQuery = new BmobQuery<NewsDetailBean>(); bmobQuery.addWhereEqualTo("news_id", news_id); bmobQuery.findObjects(mContext, new FindListener<NewsDetailBean>() { @Override public void onSuccess(List<NewsDetailBean> list) { if (list.size() > 0) { // tv_time.setText("发表时间:" + list.get(0).getNews_time()); // tv_source.setText("来源:" + list.get(0).getNews_source()); contentView.loadDataWithBaseURL(null, getHtml(news_title, list.get(0).getNews_time(), list.get(0).getNews_source(),list.get(0).getNews_content()), "text/html", "utf-8", null); } } @Override public void onError(int i, String s) { } }); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: finish(); return true; } return super.onOptionsItemSelected(item); } }