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.ListView; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.ExpandableListView.OnChildClickListener; import android.widget.ExpandableListView.OnGroupClickListener; import android.widget.Toast; public class EconGoodDataActivity extends Activity implements OnClickListener { public List<View> groupViews = new ArrayList<View>(); private ColumnEntry columnEntry; private List<New> DataList; private ImageView backImg, shuax; private ListView expList; private WebView webView; CeiApplication application; boolean flage; private String nowID,numberId; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (nowID != null && !nowID.equals("")) { String htmlUrl = MyTools.newsHtml + getIntent().getStringExtra("id"); if (((CeiApplication) getApplication()).isNet()) { webView.loadUrl(htmlUrl); } else { webView.loadDataWithBaseURL("about:blank", "现在是离线状态,请链接网络后获取数据!", "text/html", "utf-8", null); } } else if (DataList.size() > 0) { 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(EconGoodDataActivity.this, findViewById(R.id.econ_data_good_all), "没有数据!"); } expList.setAdapter(new EconDataZBAdapter(EconGoodDataActivity.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(EconGoodDataActivity.this, findViewById(R.id.econ_data_good_all), "未购买该栏目!"); } } }); flage = true; } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.econ_data_gooddata); application = (CeiApplication) getApplication(); columnEntry = ((CeiApplication) getApplication()).columnEntry; nowID = getIntent().getStringExtra("id"); initView(); initData(); /* * if (getIntent().getStringExtra("id") != null && * !getIntent().getStringExtra("id").equals("")) { String htmlUrl = * MyTools.newsHtml + getIntent().getStringExtra("id"); * webView.loadUrl(htmlUrl); } */ } 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() { ColumnEntry colBg = columnEntry.getColByName("精彩数据"); if (colBg != null) { if (numberId != null && !numberId.equals("")) { try { List<New> dataList = null; if (((CeiApplication) getApplication()).isNet()) { String zhib = Service.querydbsByFunctionId( numberId, ""); dataList = XmlUtil.getNews(zhib); WriteOrRead.write(zhib, MyTools.nativeData, "goodecon.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(); } } } } }.start(); } private void initView() { 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_gooddata_shuax); shuax.setOnClickListener(this); backImg = (ImageView) findViewById(R.id.econ_data_gooddata_back); backImg.setOnClickListener(this); } @Override public void onClick(View v) { if (v == backImg) { this.finish(); return; } else { if (flage) { flage=false; Intent intent = new Intent(this, EconGoodDataActivity.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; } }