package com.hyrt.cei.ui.econdata; import java.util.ArrayList; import java.util.List; 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; 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; /** * 分析预测 * * @author tmy * */ public class EconFXDataActivity extends ContainerActivity implements OnClickListener, OnItemClickListener { private ListView lv; private ImageView img_econ_main, img_szks, img_zjzs, img_fxyc, img_zbsc, img_data_search; private TextView tv_left, tv_center; public static String MODEL_NAMES; Context context = EconFXDataActivity.this; private Application application; private String currentFunId; private String firstfunid; private ColumnEntry columnEntry; private List<New> groupNewsList = new ArrayList<New>(); private List<New> newsList = new ArrayList<New>();; List<ColumnEntry> groupDataList = new ArrayList<ColumnEntry>(); private List<ColumnEntry> columnEntriesfxd; private GridViewAdapter gAdapter; private CeiApplication mapplication; private GGridView gGridView; private EconAdapter adapter; public static final String MODEL_NAME = "分析预测"; private RelativeLayout rl, r2; 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_fxyc); MODEL_NAMES = ((CeiApplication) getApplication()).nowStart;// 获取当前业务名称。 application = (CeiApplication) getApplication(); mapplication = (CeiApplication) getApplication(); columnEntry = ((CeiApplication) getApplication()).columnEntry; String model = "分析预测"; initView(); ColumnEntry col = columnEntry.getColByName(EconDataMain.MODEL_NAME); if (columnEntry .getColByName(EconFXDataActivity.MODEL_NAME, col.getId()) == null) return; //根据父类ID获取子类实体集合 columnEntriesfxd = (List<ColumnEntry>) columnEntry .getEntryChildsForParent(columnEntry.getColByName( EconFXDataActivity.MODEL_NAME, col.getId()).getId()); gAdapter = new GridViewAdapter(context, columnEntriesfxd); gGridView.setAdapter(gAdapter); currentFunId = columnEntriesfxd.get(0).getId(); refreshListData(currentFunId); } private void initView() { lv = (ListView) findViewById(R.id.econ_fxyc_list_content); lv.setOnItemClickListener(this); tv_left = (TextView) findViewById(R.id.econ_fxyc_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_fxyc_botton_1); img_zjzs = (ImageView) findViewById(R.id.econ_fxyc_botton_2); img_fxyc = (ImageView) findViewById(R.id.econ_fxyc_botton_3); img_zbsc = (ImageView) findViewById(R.id.econ_fxyc_botton_4); // img_data_search = (ImageView) findViewById(R.id.econ_main_top_tv2); // gGridView = (GGridView) findViewById(R.id.zjzx_info_gridview); gGridView.setOnItemClickListener(this); tv_left.setOnClickListener(this); img_fxyc.setOnClickListener(this); img_szks.setOnClickListener(this); img_zjzs.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 = WriteOrRead.read(MyTools.nativeData, "buyEcon.xml"); if (buyEcon != null && !buyEcon.equals("")) { 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) { Intent intent = new Intent(context, EconDateNumberActivity.class); startActivity(intent); } else if (v == img_zjzs) { Intent intent = new Intent(context, EconZZDataActivity.class); startActivity(intent); } else if (v == img_fxyc) { return; } 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 = columnEntriesfxd.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_fxyc_list_content: firstfunid = columnEntry.getColByName("分析预测").getId(); New oneNew = newsList.get(position); String nowID=""; //nowID=columnEntry.getColByName( //oneNew.getFunname()).getId(); // 1免费0付费 System.out.println("title" + oneNew.getTitle()); if (isHasfunID(firstfunid)||isHasfunID(currentFunId) || oneNew.getIsfree().equals("1")) { Intent intent = new Intent(EconFXDataActivity.this, EconDataContent.class); intent.putExtra("id", oneNew.getId()); startActivity(intent); } else { // 栏目没有购买 MyTools.exitShow(EconFXDataActivity.this, getWindow() .getDecorView(), "未购买该栏目!"); } break; } } }