package com.hyrt.cei.ui.econdata;
import java.util.ArrayList;
import java.util.List;
import com.hyrt.cei.adapter.EconAdapter;
import com.hyrt.cei.application.CeiApplication;
import com.hyrt.cei.ui.information.adapter.GridViewAdapter;
import com.hyrt.cei.ui.information.view.GGridView;
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.vo.funId;
import com.hyrt.cei.webservice.service.Service;
import com.hyrt.ceiphone.ContainerActivity;
import com.hyrt.ceiphone.R;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
/**
* 中经指数
*
* @author tmy
*
*/
public class EconZZDataActivity extends ContainerActivity implements
OnClickListener, OnItemClickListener {
private ImageView img_econ_main, img_szks, img_zjzs, img_fxyc, img_zbsc,
img_data_search;
private TextView tv_left, tv_center;
Context context = EconZZDataActivity.this;
private Application application;
private ColumnEntry columnEntry;
private String currentFunId;
private String firstfunid;
public static String MODEL_NAMES;
private List<New> groupNewsList = new ArrayList<New>();
private List<New> newsList = new ArrayList<New>();
List<ColumnEntry> groupDataList = new ArrayList<ColumnEntry>();
private ListView lv;
private GGridView gGridView;
private GridViewAdapter gAdapter;
private RelativeLayout rl, r2;
private List<ColumnEntry> columnEntrieszjzs;
public static final String MODEL_NAME = "中经指数";
private EconAdapter adapter;
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (newsList == null) {
return;
}
adapter = new EconAdapter(context, newsList);
lv.setAdapter(adapter);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.econ_data_zj_number);
MODEL_NAMES = ((CeiApplication) getApplication()).nowStart;// 获取当前业务名称。
application = (CeiApplication) getApplication();
// ColumnEntry columnEntry = new ColumnEntry();
columnEntry = ((CeiApplication) getApplication()).columnEntry;
initView();
String model = "中经指数";
ColumnEntry col = columnEntry.getColByName(EconDataMain.MODEL_NAME);
if (columnEntry.getColByName("中经指数", col.getId()) == null)
return;
columnEntrieszjzs = (List<ColumnEntry>) columnEntry
.getEntryChildsForParent(columnEntry.getColByName(
EconZZDataActivity.MODEL_NAME, col.getId()).getId());
gAdapter = new GridViewAdapter(context, columnEntrieszjzs);
gGridView.setAdapter(gAdapter);
currentFunId = columnEntrieszjzs.get(0).getId();
refreshListData(currentFunId);
}
/*
* private void initData(final String model, final String newId) { new
* Thread() { public void run() { if ("中经指数".equals(model)) { ColumnEntry
* colBg = columnEntry.getColByName("中经指数"); if (colBg != null) { String
* numberId = colBg.getId(); if (numberId != null && !numberId.equals("")) {
* groupDataList = columnEntry .getEntryChildsForParent(numberId); for
* (ColumnEntry columnEntry : groupDataList) { try { if (((CeiApplication)
* getApplication()) .isNet()) { String zhib = Service
* .querydbsByFunctionId( columnEntry.getId(), "40"); groupNewsList =
* XmlUtil.getNews(zhib); for (New news : groupNewsList) {
* newsList.add(news); } WriteOrRead.write(zhib, MyTools.nativeData,
* columnEntry.getId()); } else { String zhib = WriteOrRead.read(
* MyTools.nativeData, columnEntry.getId()); groupNewsList =
* XmlUtil.getNews(zhib); for (New news : groupNewsList) {
* newsList.add(news); }
*
* } System.out.println("中经指数news" + newsList.size()); } catch (Exception e)
* { e.printStackTrace(); } } if (handler != null) {
* handler.sendEmptyMessage(1); } } } } else { System.out.println("子栏目");
* try { if (((CeiApplication) getApplication()).isNet()) { String zhib =
* Service.querydbsByFunctionId(newId, "40"); newsList =
* XmlUtil.getNews(zhib); WriteOrRead.write(zhib, MyTools.nativeData,
* newId); } else { String zhib = WriteOrRead.read(MyTools.nativeData,
* newId); newsList = XmlUtil.getNews(zhib); } System.out.println("子栏目news"
* + newsList.size()); } catch (Exception e) { e.printStackTrace(); }
*
* } if (handler != null) { handler.sendEmptyMessage(2); }
*
* }; }.start();
*
* }
*/
private void refreshListData(final String funtionId) {
new Thread() {
@Override
public void run() {
try {
System.out.println("funcId" + funtionId);
if (((CeiApplication) getApplication()).isNet()) {
String zhib = Service.querydbsByFunctionId(funtionId,
"40");
newsList = XmlUtil.getNews(zhib);
System.out.println("保险业" + newsList.size());
WriteOrRead.write(zhib, MyTools.nativeData, funtionId);
/*
* // 购买的新闻 String buyEcon = Service
* .queryBuyDbNews(columnEntry .getUserId());
* WriteOrRead.write(buyEcon, MyTools.nativeData,
* "buyEcon.xml"); // 清空集合中的数据
* application.buyEconData.clear(); // 把购买的数据加入集合中
* mapplication.buyEconData.addAll(XmlUtil
* .queryBuyNews(buyEcon));
*/
} else {
newsList.clear();
String zhib = WriteOrRead.read(MyTools.nativeData,
funtionId);
newsList = XmlUtil.getNews(zhib);
/*
* // 购买的新闻 String buyEcon = Service
* .queryBuyDbNews(columnEntry .getUserId());
* WriteOrRead.write(buyEcon, MyTools.nativeData,
* "buyEcon.xml"); // 清空集合中的数据
* mapplication.buyEconData.clear(); // 把购买的数据加入集合中
* mapplication.buyEconData.addAll(XmlUtil
* .queryBuyNews(buyEcon));
*/
}
} catch (Exception e) {
e.printStackTrace();
}
if (handler != null) {
handler.sendEmptyMessage(3);
}
}
}.start();
}
private boolean isHasfunID(String funid) {
CeiApplication application = (CeiApplication) getApplication();
for (funId id : application.buyEconData) {
if (funid.equals(id.getFunid())) {
return true;
}
}
return false;
}
private void initView() {
lv = (ListView) findViewById(R.id.econ_zjzs_list_content);
lv.setOnItemClickListener(this);
tv_left = (TextView) findViewById(R.id.econ_zj_nums_top_text1);
tv_left.setText(MODEL_NAMES);
tv_center = (TextView) findViewById(R.id.econ_main_top_img);
tv_center.setText("中经指数");
img_szks = (ImageView) findViewById(R.id.econ_zjzs_botton_2);
img_zjzs = (ImageView) findViewById(R.id.econ_zjzs_botton_3);
img_fxyc = (ImageView) findViewById(R.id.econ_zjzs_botton_4);
img_zbsc = (ImageView) findViewById(R.id.econ_zjzs_botton_5);
// img_data_search = (ImageView) findViewById(R.id.econ_main_top_tv2);
tv_left.setOnClickListener(this);
img_szks.setOnClickListener(this);
gGridView = (GGridView) findViewById(R.id.zjzx_info_gridview);
gGridView.setOnItemClickListener(this);
img_zjzs.setOnClickListener(this);
img_fxyc.setOnClickListener(this);
img_zbsc.setOnClickListener(this);
// img_data_search.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (v == tv_left) {
Intent intent = new Intent(context, EconDataMain.class);
startActivity(intent);
} else if (v == img_szks) {
Intent intent = new Intent(context, EconDateNumberActivity.class);
startActivity(intent);
} else if (v == img_zjzs) {
return;
} else if (v == img_fxyc) {
Intent intent = new Intent(context, EconFXDataActivity.class);
startActivity(intent);
} else if (v == img_zbsc) {
Intent intent = new Intent(context, EconZBQueryActivity.class);
startActivity(intent);
}
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
switch (parent.getId()) {
case R.id.zjzx_info_gridview:
currentFunId = columnEntrieszjzs.get(position).getId();
refreshListData(currentFunId);
for (int i = 0; i < parent.getChildCount(); i++) {
r2 = (RelativeLayout) parent.getChildAt(i);
if (i == position) {
((ImageView) r2.getChildAt(0))
.setImageResource(R.drawable.phone_study_menu_select);
((TextView) r2.getChildAt(1)).setTextColor(Color.WHITE);
} else {
((ImageView) r2.getChildAt(0)).setImageDrawable(null);
((TextView) r2.getChildAt(1)).setTextColor(Color.BLUE);
}
}
break;
case R.id.econ_zjzs_list_content:
ColumnEntry col = columnEntry.getColByName(EconDataMain.MODEL_NAME);
if (columnEntry.getColByName("中经指数", col.getId()) == null)
return;
firstfunid = columnEntry.getColByName("中经指数", col.getId()).getId();
New oneNew = newsList.get(position);
System.out.println("title" + oneNew.getTitle());
//判断父类栏目是否购买,当前栏目是否购买,
if (isHasfunID(firstfunid)||isHasfunID(currentFunId)
|| oneNew.getIsfree().equals("1")) {
Intent intent = new Intent(EconZZDataActivity.this,
EconDataContent.class);
intent.putExtra("id", oneNew.getId());
startActivity(intent);
} else {
// 栏目没有购买
MyTools.exitShow(EconZZDataActivity.this, getWindow()
.getDecorView(), "未购买该栏目!");
}
break;
}
}
}