package com.hyrt.cei.ui.information; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; 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.AdapterView.OnItemClickListener; import android.widget.ListView; import android.widget.Toast; import com.hyrt.cei.adapter.CommonPopAdapter; import com.hyrt.cei.application.CeiApplication; import com.hyrt.cei.util.MyTools; import com.hyrt.cei.util.XmlUtil; import com.hyrt.cei.vo.ColumnEntry; import com.hyrt.cei.vo.InfoNew; import com.hyrt.cei.vo.funId; import com.hyrt.cei.webservice.service.Service; import com.hyrt.ceiphone.ContainerActivity; import com.hyrt.ceiphone.R; public class InformationCollect extends ContainerActivity implements OnClickListener, OnItemClickListener { // 资讯列表数据集合 private List<InfoNew> news = new ArrayList<InfoNew>(); private Intent intent; private Boolean canRead; private List<funId> funIds; private ColumnEntry columnEntry; private List<ColumnEntry> columnEntries; private static final int ALREADY_BUY = 3; private Boolean BJ; // 收藏列表listview private ListView listView; // 弹出框信息列表 private List<InfoNew> infoNews = new ArrayList<InfoNew>(); // 收藏列表适配器 private CommonPopAdapter adapter; // 视图通知器 private Handler dataHandler = new Handler() { @Override public void dispatchMessage(Message msg) { InformationCollect.this.adapter = new CommonPopAdapter( InformationCollect.this, R.layout.common_listpop_listview_item, infoNews); listView.setAdapter(InformationCollect.this.adapter); } }; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); BJ = true; setContentView(R.layout.infomation_collect); listView = (ListView) findViewById(R.id.read_report_main_lv); listView.setOnItemClickListener(this); findViewById(R.id.zjzx_bianji).setOnClickListener(this); findViewById(R.id.zjzx_qingkong).setOnClickListener(this); findViewById(R.id.zjzx_botton_1).setOnClickListener(this); findViewById(R.id.zjzx_botton_2).setOnClickListener(this); findViewById(R.id.zjzx_botton_3).setOnClickListener(this); columnEntry = ((CeiApplication) getApplication()).columnEntry; columnEntries = columnEntry.getEntryChildsForParent(columnEntry .getColByName(InformationActivity.MODEL_NAME).getId()); refreshListData(columnEntry.getUserId(), ALREADY_BUY); new Handler().post(new Runnable() { @Override public void run() { InformationCollect.this.runOnUiThread(new Runnable() { @Override public void run() { String result = Service .queryCollect(((CeiApplication) InformationCollect.this .getApplication()).columnEntry .getUserId()); infoNews.clear(); XmlUtil.getNewsList(result, infoNews); for (int i = 0; i < infoNews.size(); i++) { infoNews.get(i).setIsCollect("1"); } dataHandler.sendMessage(dataHandler.obtainMessage()); } }); } }); } @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub switch (arg0.getId()) { case R.id.read_report_main_lv: InfoNew new2 = infoNews.get(arg2); String intentId = new2.getId(); // 跳转到详细页 intent = new Intent(); intent.putExtra("extra", intentId); for (int i = 0; i < columnEntries.size(); i++) { if (columnEntries.get(i).getId().equals(new2.getFunctionId())) { intent.putExtra("topNum", i + ""); } } intent.putExtra("functionId", new2.getFunctionId()); intent.putExtra("collect", new2.getIsCollect()); intent.setClass(InformationCollect.this, InformationReadActivity.class); if (infoNews.get(arg2).getIsfree().endsWith("1")) { InformationCollect.this.startActivity(intent); } else { for (int i = 0; i < funIds.size(); i++) { if (funIds.get(i).getFunid() .endsWith(infoNews.get(arg2).getFunctionId())) { canRead = true; break; } else { canRead = false; } } if (canRead) { InformationCollect.this.startActivity(intent); } else { MyTools.exitShow(InformationCollect.this, getWindow() .getDecorView(), "未购买该栏目!"); } } break; } } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.zjzx_botton_1: intent = new Intent(InformationCollect.this, InformationOne.class); startActivity(intent); break; case R.id.zjzx_botton_2: intent = new Intent(InformationCollect.this, InformationTwo.class); startActivity(intent); break; case R.id.zjzx_botton_3: intent = new Intent(InformationCollect.this, InformationThree.class); startActivity(intent); break; case R.id.zjzx_bianji: if (infoNews.isEmpty()) { Toast.makeText(InformationCollect.this, "收藏列表为空!", Toast.LENGTH_LONG).show(); } else { if (BJ == true) { for (int i = 0; i < infoNews.size(); i++) { infoNews.get(i).setIsCollect("0"); } BJ = false; adapter.notifyDataSetChanged(); } else { for (int i = 0; i < infoNews.size(); i++) { infoNews.get(i).setIsCollect("1"); } BJ = true; adapter.notifyDataSetChanged(); } } break; case R.id.zjzx_qingkong: if (infoNews.isEmpty()) { Toast.makeText(InformationCollect.this, "收藏列表为空!", Toast.LENGTH_LONG).show(); } else { AlertDialog alertDialog = new AlertDialog.Builder(this) .setTitle("清空收藏") .setMessage("您确定清空所有资讯吗?") .setIcon(R.drawable.icon) .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub InformationCollect.this .runOnUiThread(new Runnable() { @Override public void run() { Service.clearCollect(((CeiApplication) InformationCollect.this .getApplication()).columnEntry .getUserId()); } }); infoNews.clear(); adapter.notifyDataSetChanged(); } }) .setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }).create(); alertDialog.show(); } break; } } private void refreshListData(final String functionId, final int operationId) { news.clear(); InformationCollect.this.runOnUiThread(new Runnable() { @Override public void run() { String result = ""; result = Service.queryBuyNews(functionId); try { funIds = XmlUtil.queryBuyNews(result); } catch (Exception e) { e.printStackTrace(); } } }); } }