/**
*
*/
package coolbuy360.searchhealth;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import coolbuy360.control.CusProgressDialog;
import coolbuy360.logic.Promotion;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.Html;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebSettings.LayoutAlgorithm;
import android.webkit.WebSettings.ZoomDensity;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageButton;
import android.widget.Toast;
import coolbuy360.service.CommonMethod;
/**
* @author Administrator
*
*/
public class DrugStorePromotionDetail extends Activity {
// String promotionId = null;
private CusProgressDialog cusProgressDialog;
private WebView webview;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.drugstore_promotion_detail);
Bundle bundle = getIntent().getExtras();
String promotionId = bundle.getLong("promotionid") + "";
//Toast.makeText(DrugStorePromotionDetail.this, promotionId+"", 1).show();
webview = (WebView) this.findViewById(R.id.promotion_webview);
WebSettings settings = webview.getSettings();
settings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
CommonMethod.addWebImageShow(this, webview);
ImageButton actionbar_pre_btn = (ImageButton) this
.findViewById(R.id.actionbar_pre_btn);
actionbar_pre_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
DrugStorePromotionDetail.this.finish();
}
});
new asyloadData().execute(promotionId);
}
/**
* ��ʼ��webview������
* @param list
* �첽��ȡ��listֵ
*/
@SuppressLint("NewApi")
private void initWebView(List<Map<String, String>> list) {
String webData = list.get(0).get("detail");
// webview.loadData(webData, mimeType, encoding)
Log.i("chenlinwei", webData);
// webview.loadData(webData, "text/html", "utf-8");
String html = "";
html = "<html>" + "<body>" + Html.fromHtml(webData) + "</body>"
+ "</html>";
html=html.replaceAll("(<img[^>]+src=\")(\\S+)\"",
"$1$2\" onClick=\"javascript:mWebViewImageListener.onImageClick('$2')\"");
webview.loadDataWithBaseURL(null, html, "text/html", "utf-8", null);
webview.setWebChromeClient(new WebChromeClient());
// ��ͬ�ֱַ��ʵ������,��Ļ�ܶȲ�һ���������,�Զ�����ҳ��:
/*DisplayMetrics dm = getResources().getDisplayMetrics();
int scale = dm.densityDpi;*/
// ��ò�ͬ���ܶ�ֵ
/*if (scale == 240) { //
webview.getSettings().setDefaultZoom(ZoomDensity.FAR);
} else if (scale == 160) {
webview.getSettings().setDefaultZoom(ZoomDensity.MEDIUM);
} else {
webview.getSettings().setDefaultZoom(ZoomDensity.CLOSE);
}*/
// ����WebView��һЩ���ܵ�:
webview.getSettings().setJavaScriptEnabled(true);
// ����scrollbar
webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webview.setHorizontalScrollBarEnabled(false);
webview.setVerticalScrollbarOverlay(true);
// ����֧��֧������
webview.getSettings().setSupportZoom(false);
webview.getSettings().setBuiltInZoomControls(false);
// ��ʼ����ֵ
//webview.setInitialScale(100);
}
/**
* �첽������ҳ����
* @author Administrator
*
*/
private class asyloadData extends AsyncTask<String, Void, Integer> {
List<Map<String, String>> innerList = new ArrayList<Map<String, String>>();
@Override
protected void onPreExecute() {
cusProgressDialog = new CusProgressDialog(
DrugStorePromotionDetail.this, R.style.dialog);
cusProgressDialog.setPregressBar(true);
cusProgressDialog.show();
super.onPreExecute();
}
@Override
protected Integer doInBackground(String... params) {
// TODO Auto-generated method stub
int returnValue = 2;
if (params.length > 0) {
try {
String id = params[0];
Log.i("chenlinwei", "����id��" + id);
innerList = Promotion.getInfo(params[0]);
if (innerList != null && innerList.size() > 0) {
returnValue = 0;
} else {
returnValue = 1;
}
} catch (Exception e) {
// TODO Auto-generated catch block
returnValue = 2;
}
}
return returnValue;
}
@Override
protected void onPostExecute(Integer result) {
// TODO Auto-generated method stub
if (result == 0) {
// InitViewData(innerList);
// android.util.Log.i(tag, msg)
Log.i("chenlinwei", innerList + "");
cusProgressDialog.cancel();
initWebView(innerList);
} else if (result == 1) {
cusProgressDialog.cancel();
Toast.makeText(DrugStorePromotionDetail.this, "��ʱû�л��ϸ��Ϣ",
Toast.LENGTH_LONG).show();
}
else {
cusProgressDialog.cancel();
Toast.makeText(DrugStorePromotionDetail.this, "���ݼ��ش���",
Toast.LENGTH_LONG).show();
}
super.onPostExecute(result);
}
}
}