package com.hyrt.cei.ui.econdata;
import java.util.ArrayList;
import java.util.List;
import com.hyrt.cei.R;
import com.hyrt.cei.adapter.EconDataZBAdapter;
import com.hyrt.cei.application.CeiApplication;
import com.hyrt.cei.dzb.ui.HomePageDZB;
import com.hyrt.cei.ui.information.funId;
import com.hyrt.cei.util.MyTools;
import com.hyrt.cei.util.WriteOrRead;
import com.hyrt.cei.util.XmlUtil;
import com.hyrt.cei.vo.ColumnEntry;
import com.hyrt.cei.vo.New;
import com.hyrt.cei.webservice.service.Service;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebView;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ExpandableListView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.ExpandableListView.OnGroupClickListener;
public class EconZBQueryActivity extends Activity implements OnClickListener {
public List<View> groupViews = new ArrayList<View>();
private ColumnEntry columnEntry;
private List<New> DataList;
private ImageView zxImg, szImg, zjImg, fxImg, zbImg, sjImg, homeImg,
backImg, shuax;
private ListView expList;
private WebView webView;
CeiApplication application;
private LinearLayout prolayout;
boolean flage;
private String nowID, numberId;
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if(msg.what==400){
webView.loadDataWithBaseURL("about:blank",
"没有数据!", "text/html", "utf-8", null);
prolayout.setVisibility(View.GONE);
return;
}
if (nowID != null && !nowID.equals("")) {
/*
* String
* htmlUrl=MyTools.newsHtml+getIntent().getStringExtra("id");
*
* webView.loadUrl(htmlUrl);
*/
if (((CeiApplication) getApplication()).isNet()) {
String htmlUrl = MyTools.newsHtml
+ getIntent().getStringExtra("id");
webView.loadUrl(htmlUrl);
// 条目变色
} else {
webView.loadDataWithBaseURL("about:blank",
"现在是离线状态,请链接网络后获取数据!", "text/html", "utf-8", null);
}
} else if (DataList.size() > 0) {
/*
* String htmlUrl = MyTools.newsHtml + DataList.get(0).getId();
* webView.loadUrl(htmlUrl);
*/
if (((CeiApplication) getApplication()).isNet()) {
String htmlUrl = MyTools.newsHtml + DataList.get(0).getId();
webView.loadUrl(htmlUrl);
} else {
webView.loadDataWithBaseURL("about:blank",
"现在是离线状态,请链接网络后获取数据!", "text/html", "utf-8", null);
}
} else {
MyTools.exitShow(EconZBQueryActivity.this,
findViewById(R.id.econ_data_zb_all), "没有数据!");
}
expList.setAdapter(new EconDataZBAdapter(EconZBQueryActivity.this,
DataList, nowID));
expList.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
String funid = columnEntry.getColByName("指标查询",columnEntry.getColByName(EconDataMain.MODEL_NAME).getId()).getId();
if (isHasfunID(funid)
|| DataList.get(arg2).getIsfree().equals("1")) {
String htmlUrl = MyTools.newsHtml
+ DataList.get(arg2).getId();
if (((CeiApplication) getApplication()).isNet()) {
webView.loadUrl(htmlUrl);
} else {
webView.loadDataWithBaseURL("about:blank",
"现在是离线状态,请链接网络后获取数据!", "text/html",
"utf-8", null);
}
for (View view : groupViews) {
view.findViewById(R.id.econ_data_ea_item_group_tv)
.setBackgroundResource(
R.drawable.econ_data_ea_item_group);
}
arg1.findViewById(R.id.econ_data_ea_item_group_tv)
.setBackgroundResource(
R.drawable.econ_data_ea_item_group1);
groupViews.add(arg1);
} else {
MyTools.exitShow(EconZBQueryActivity.this,
findViewById(R.id.econ_data_zb_all), "没有数据!");
}
}
});
flage = true;
prolayout.setVisibility(View.GONE);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.econ_data_zhib);
columnEntry = ((CeiApplication) getApplication()).columnEntry;
application = (CeiApplication) getApplication();
nowID = getIntent().getStringExtra("id");
initView();
prolayout.setVisibility(View.VISIBLE);
initData();
}
private void initData() {
if (EconDataMain.allColBg != null
&& EconDataMain.allColBg.getId() != null
&& !EconDataMain.allColBg.getId().equals("")) {
String allBgId = EconDataMain.allColBg.getId();
List<ColumnEntry> allCol = columnEntry
.getEntryChildsForParent(allBgId);
for (ColumnEntry columnEntry : allCol) {
if (columnEntry.getName().equals("指标查询")) {
numberId = columnEntry.getId();
}
}
}
// 获取数据
DataList = new ArrayList<New>();
new Thread() {
@Override
public void run() {
if (numberId != null && !numberId.equals("")) {
try {
List<New> dataList = null;
if (((CeiApplication) getApplication()).isNet()) {
String zhib = Service.querydbsByFunctionId(
numberId, "40");
dataList = XmlUtil.getNews(zhib);
WriteOrRead.write(zhib, MyTools.nativeData,
"zhibiao.xml");
} else {
String zhib = WriteOrRead.read(MyTools.nativeData,
"goodecon.xml");
dataList = XmlUtil.getNews(zhib);
}
DataList.addAll(dataList);
if (handler != null) {
handler.sendEmptyMessage(1);
}
} catch (Exception e) {
e.printStackTrace();
}
}else{
if (handler != null) {
handler.sendEmptyMessage(400);
}
}
}
}.start();
}
private void initView() {
prolayout = (LinearLayout) findViewById(R.id.econ_data_zb_pro);
expList = (ListView) findViewById(R.id.econ_data_number_list);
webView = (WebView) findViewById(R.id.econ_data_number_web);
// 低栏图标
shuax = (ImageView) findViewById(R.id.econ_data_zb_shuax);
shuax.setOnClickListener(this);
zxImg = (ImageView) findViewById(R.id.econ_data_zb_zx);
zxImg.setOnClickListener(this);
szImg = (ImageView) findViewById(R.id.econ_data_zb_sz);
szImg.setOnClickListener(this);
zjImg = (ImageView) findViewById(R.id.econ_data_zb_zz);
zjImg.setOnClickListener(this);
fxImg = (ImageView) findViewById(R.id.econ_data_zb_fx);
fxImg.setOnClickListener(this);
zbImg = (ImageView) findViewById(R.id.econ_data_zb_zb);
zbImg.setOnClickListener(this);
sjImg = (ImageView) findViewById(R.id.econ_data_zb_sj);
sjImg.setOnClickListener(this);
homeImg = (ImageView) findViewById(R.id.econ_data_zb_home);
homeImg.setOnClickListener(this);
backImg = (ImageView) findViewById(R.id.econ_data_zb_back);
backImg.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (v == zxImg) {
// 最新页面
Intent intent = new Intent(this, EconDataMain.class);
startActivity(intent);
} else if (v == szImg) {
Intent intent = new Intent(this, EconDateNumberActivity.class);
startActivity(intent);
// 数字快讯
} else if (v == zjImg) {
// 中经指数
Intent intent = new Intent(this, EconZZDataActivity.class);
startActivity(intent);
} else if (v == fxImg) {
// 分析预测
Intent intent = new Intent(this, EconFXDataActivity.class);
startActivity(intent);
} else if (v == zbImg) {
// 指标查询
return;
} else if (v == sjImg) {
// 数据查询
Intent intent = new Intent(this, EconDataQueryActivity.class);
startActivity(intent);
} else if (v == homeImg) {
// 首页
Intent intent = new Intent(this, HomePageDZB.class);
startActivity(intent);
} else if (v == backImg) {
// 返回键
this.finish();
} else if (v == shuax) {
if (flage) {
flage=false;
Intent intent = new Intent(this, EconZBQueryActivity.class);
startActivity(intent);
this.finish();
} else {
return;
}
}
}
private boolean isHasfunID(String funid) {
CeiApplication application = (CeiApplication) getApplication();
for (funId id : application.buyEconData) {
if (funid.equals(id.getFunid())) {
return true;
}
}
return false;
}
public void saveActivity(Class<?> clas) {
if (application.activitys.contains(clas)) {
application.activitys.remove(clas);
application.activitys.add(clas);
} else {
application.activitys.add(clas);
}
}
}