package com.roboo.like.netease;
import java.io.IOException;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import com.roboo.like.netease.utils.NewsUtils;
import com.roboo.like.netease.view.MyProgressBar;
public class WebViewActivity extends BaseActivity
{
private String mNewsUrl;
private WebView mWebView;
private MyProgressBar mProgressBar;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setTVTitle(R.string.tv_news_detail);
// TODO setContentView Tag
setContentView(R.layout.activity_webview);
// TODO initView method Tag
initView();
// TODO initWebView method Tag
initWebView();
mNewsUrl = getIntent().getStringExtra("newsUrl");
new GetNewsContentAsyncTask().execute();
}
/**
* TODO initWebView
*
*/
@SuppressLint("SetJavaScriptEnabled")
private void initWebView()
{
mWebView.setInitialScale(100);
WebSettings settings = this.mWebView.getSettings();
settings.setDefaultTextEncodingName("UTF-8");
settings.setTextZoom(150);
settings.setJavaScriptEnabled(true);
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
mWebView.addJavascriptInterface(new Object()
{
@SuppressWarnings("unused")
public void toast(String imgSrc,int currentIndex)
{
Intent intent = new Intent(WebViewActivity.this, ShowImageActivity.class);
if (null != imgSrc && imgSrc.length() > 0)
{
intent.putExtra("srcs", imgSrc.split(","));
intent.putExtra("index", currentIndex);
System.out.println("currentIndex = " + currentIndex);
startActivity(intent);
}
}
}, "android");
}
/**
* TODO initView
*
*/
private void initView()
{
this.mProgressBar = (MyProgressBar) findViewById(R.id.pb_progress);
this.mWebView = (WebView) findViewById(R.id.wv_webview);
}
private final class GetNewsContentAsyncTask extends AsyncTask<Void, Void, String>
{
@Override
protected String doInBackground(Void... params)
{
if (null != mNewsUrl)
{
try
{
String data = NewsUtils.getITHomeNewsData(mNewsUrl);
return data;
}
catch (IOException e)
{
e.printStackTrace();
}
}
return null;
}
@Override
protected void onPostExecute(String result)
{
super.onPostExecute(result);
if (null != result)
{
System.out.println("result = " + result);
mWebView.loadData(result, "text/html; charset=UTF-8", null);
}
mProgressBar.setVisibility(View.GONE);
}
}
}