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.econdata.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.Adapter;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
/**
* 数字快讯
*
* @author tmy
*
*/
public class EconDateNumberActivity extends ContainerActivity implements
OnClickListener, OnItemClickListener {
private ImageView img_econ_main, img_szks, img_zjzs, img_fxyc, img_zbsc,
img_data_search;
public static String MODEL_NAME;
private TextView tv_left, tv_center;
Context context = EconDateNumberActivity.this;
private Application application;
private String firstfunid;
private String currentFunId;
private String nowId;
private ColumnEntry columnEntry;
private List<New> groupNewsList = new ArrayList<New>();
private CeiApplication mapplication;
private List<New> newsList = new ArrayList<New>();;
List<ColumnEntry> groupDataList = new ArrayList<ColumnEntry>();
private GGridView gGridView;
private GridViewAdapter gAdapter;
private List<ColumnEntry> columnEntries;
private ListView lv;
private EconAdapter adapter;
private RelativeLayout rl, r2;
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (newsList == null) {
return;
}
// 绑定数据,所有的数据都要放在newsList中,每刷新一次,就要先清空以前的数据
adapter = new EconAdapter(context, newsList);
lv.setAdapter(adapter);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.econ_data_szkx);
MODEL_NAME = ((CeiApplication) getApplication()).nowStart;// 获取当前业务名称。
application = (CeiApplication) getApplication();
mapplication = (CeiApplication) getApplication();
columnEntry = ((CeiApplication) getApplication()).columnEntry;
// String model = "数字快讯";
initView();
// 通过传递父ID,得到子栏目
ColumnEntry col = columnEntry.getColByName(EconDataMain.MODEL_NAME);
if (columnEntry.getColByName("数字快讯", col.getId()) == null)
return;
columnEntries = (List<ColumnEntry>) columnEntry
.getEntryChildsForParent(columnEntry.getColByName("数字快讯",
col.getId()).getId());
gAdapter = new GridViewAdapter(context, columnEntries);
gGridView.setAdapter(gAdapter);
currentFunId = columnEntries.get(0).getId();
refreshListData(currentFunId);
}
private void initView() {
lv = (ListView) findViewById(R.id.econ_szkxs_list_content);
tv_left = (TextView) findViewById(R.id.econ_szkx_tops_text1);
tv_center = (TextView) findViewById(R.id.econ_szkx_tops_img);
tv_left.setText(MODEL_NAME);
tv_center.setText("数字快讯");
img_szks = (ImageView) findViewById(R.id.econ_szkx_bottons_1);
img_zjzs = (ImageView) findViewById(R.id.econ_szkx_bottons_2);
img_fxyc = (ImageView) findViewById(R.id.econ_szkx_bottons_3);
img_zbsc = (ImageView) findViewById(R.id.econ_szkx_bottons_4);
// img_data_search = (ImageView) findViewById(R.id.econ_szkx_tops_tv2);
tv_left.setOnClickListener(this);
// 对自定义GridView进行初始化
gGridView = (GGridView) findViewById(R.id.econ_data_info_gridview);
gGridView.setOnItemClickListener(this);
lv.setOnItemClickListener(this);
img_szks.setOnClickListener(this);
img_zjzs.setOnClickListener(this);
img_fxyc.setOnClickListener(this);
img_zbsc.setOnClickListener(this);
// img_data_search.setOnClickListener(this);
}
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");
// 清空集合中的数据
mapplication.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) {
mapplication = (CeiApplication) getApplication();
for (funId id : mapplication.buyEconData) {
if (funid.equals(id.getFunid())) {
return true;
}
}
return false;
}
@Override
public void onClick(View v) {
if (v == tv_left) {
Intent intent = new Intent(context, EconDataMain.class);
startActivity(intent);
} else if (v == img_szks) {
return;
} else if (v == img_zjzs) {
Intent intent = new Intent(context, EconZZDataActivity.class);
startActivity(intent);
} 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.econ_data_info_gridview:
currentFunId = columnEntries.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_szkxs_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);
//nowId = columnEntry.getColByName(oneNew.getFunname()).getId();
if (isHasfunID(firstfunid) ||(isHasfunID(currentFunId))|| oneNew.getIsfree().equals("1")) {
Intent intent = new Intent(EconDateNumberActivity.this,
EconDataContent.class);
intent.putExtra("id", oneNew.getId());
startActivity(intent);
} else {
// 栏目没有购买
MyTools.exitShow(EconDateNumberActivity.this, getWindow()
.getDecorView(), "未购买该栏目!");
}
break;
}
}
}