package com.bdyjy.fragment; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.alibaba.fastjson.JSON; import com.bdyjy.R; import com.bdyjy.activity.MainActivity; import com.bdyjy.adapter.ActivityListAdapter; import com.bdyjy.constants.HandlerOrder; import com.bdyjy.custom.view.XListView; import com.bdyjy.custom.view.XListView.IXListViewListener; import com.bdyjy.entity.attArryData; import com.bdyjy.entity.activity.Activity; import com.bdyjy.entity.activity.ActivityContentQueryResultBean; import com.bdyjy.entity.activity.ActivityQueryResultBean; import com.bdyjy.util.OkHttpUtils; import com.bdyjy.util.SPUtils; import android.app.Fragment; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.TextView; import android.widget.Toast; import android.widget.AdapterView.OnItemClickListener; /** * ���Ż�б� * * @author cuicui create at 2016-04-02 17:02 * */ public class ActivityListFragment extends Fragment implements IXListViewListener { Handler handler = null; String toastMsg = null; private MainActivity ctx; // �Զ��������б���� private XListView activityListView; private ActivityListAdapter activityListViewAdapter; private List<Map<String, Object>> activityListItems; private TextView tv_activity_back; private int pageSize = 5;// ҳ����������-���� private int sizeStep = 5;// ÿ�μ��ص���Ŀ public ActivityListFragment(MainActivity ctx) { this.ctx = ctx; initHandler(); } private void initHandler() { handler = new Handler(ctx.getMainLooper()) { @Override public void handleMessage(Message msg) { switch (msg.what) { case HandlerOrder.TOAST: // TODO Toast.makeText(ctx, toastMsg, Toast.LENGTH_LONG).show(); break; case HandlerOrder.UPDATE_LISTVIEW: activityListView.onLoad(); loadData(); break; case HandlerOrder.PROCESSBAR_SHOW: ctx.showRoundProcessDialog(); break; case HandlerOrder.PROCESSBAR_HIDE: ctx.hideRoundProcessDialog(); break; } } }; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.activitylist_fragment, null); // tv_activity_back = (TextView) // view.findViewById(R.id.tv_activity_back); // tv_activity_back.setOnClickListener(new OnClickListener() // { // @Override // public void onClick(View v) // { // ctx.jumpToFirstPageFregment(); // } // }); view.findViewById(R.id.ll_back).setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { ctx.jumpToFirstPageFregment(); } }); activityListView = (XListView) view .findViewById(R.id.activity_listview); activityListView.setPullLoadEnable(true); activityListView.setXListViewListener(this); activityListItems = new ArrayList<Map<String, Object>>(); // ѡ��ĵ���¼� activityListView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // ����ѡ��ĵ���¼� TextView tv_activity_id = (TextView) view .findViewById(R.id.tv_activity_id); // ����������Żid������ѯ��������Ż����ʾ���� // ��ѯ��̨ getActivityContent(tv_activity_id.getText().toString()); System.out.println("�����������" + tv_activity_id.getText().toString()); } }); if (null == MainActivity.activityList) getActivityList(); else loadData(); return view; } private void loadData() { // ���ԭ������ activityListItems.clear(); Map<String, Object> map = null; if (MainActivity.activityList == null) { System.out.println("activityListΪ��"); } else { for (int i = 0; i < MainActivity.activityList.size(); i++) { map = new HashMap<String, Object>(); map.put("poster", R.drawable.news_1); // ͼƬ��Դ, // ��ʱ��ʹ��ͬһ��ͼƬ��Ϊ���� map.put("subject", MainActivity.activityList.get(i) .getSubject()); // ��Ʒ���� map.put("tv_activity_id", MainActivity.activityList.get(i) .getId()); map.put("hoster", MainActivity.activityList.get(i).getHoster()); // ͼƬ��Դ, // ��ʱ��ʹ��ͬһ��ͼƬ��Ϊ���� map.put("actPlace", MainActivity.activityList.get(i) .getActplace()); // ��Ʒ���� map.put("actTime", MainActivity.activityList.get(i) .getActtime()); map.put("content", MainActivity.activityList.get(i) .getContent()); String http = ""; String http2 = ""; String http1 = ""; try { http1 = MainActivity.activityList.get(i).getPoster() .toString().trim(); http2 = MainActivity.activityList.get(i) .getAttachmentPrefix(); } catch (Exception e) { e.printStackTrace(); } http = http2 + http1; System.out.println("s���ŻͼƬ�ĵ�ַΪ��" + http); map.put("http", http); activityListItems.add(map); } } if (null == activityListViewAdapter) { activityListViewAdapter = new ActivityListAdapter(ctx, activityListItems); // ���������� activityListView.setAdapter(activityListViewAdapter); } else { activityListViewAdapter.refresh(activityListItems); } } // �������װ�Ӻ�̨һ����ȡ���Ż�б�ķ��� private void getActivityList() { new Thread() { @Override public void run() { // ����get���� String res = null; // ��sharePreference��ȡ��֮ǰ�洢�IJ��� String token = (String) SPUtils.get(ctx, "token", ""); String singnature = (String) SPUtils.get(ctx, "singnature", ""); String st = (String) SPUtils.get(ctx, "st", ""); try { handler.sendEmptyMessage(HandlerOrder.PROCESSBAR_SHOW); res = OkHttpUtils.getInstance().doGet( ctx, "/admin/activity/grid.do?pageNo=1&pageSize=5" + "&token=" + token + "&singnature=" + singnature + "&st=" + st); handler.sendEmptyMessage(HandlerOrder.PROCESSBAR_HIDE); } catch (Exception e) { e.printStackTrace(); toastMsg = "��ȡ���Ż����ʧ��"; handler.sendEmptyMessage(HandlerOrder.TOAST); handler.sendEmptyMessage(HandlerOrder.PROCESSBAR_HIDE); return; } System.out.println("�������Ż��" + res.trim()); // ���Խ�json��ת����bean���� ActivityQueryResultBean nqrb = JSON.parseObject(res, ActivityQueryResultBean.class); // ����ֵ������JSON��ʽ�����ݣ���Ҫ��������� if (res.trim().length() == 0) { toastMsg = "��ȡ���Ż����ʧ��"; handler.sendEmptyMessage(HandlerOrder.TOAST); return; } String app_result_key = nqrb.getApp_result_key(); if ("0".equals(app_result_key)) { // ��������˵���������������ݣ���Ҫ�������ȡ���Ż�ı��� List<Activity> list = nqrb.getData().getRows(); MainActivity.activityList = list; // ʹ��handlerȥ֪ͨ���̸߳���activityListView handler.sendEmptyMessage(HandlerOrder.UPDATE_LISTVIEW); } } }.start(); } // �������װ�Ӻ�̨һ����ȡ���Ż���ݵķ��� private void getActivityContent(final String id) { new Thread() { @Override public void run() { // ����get���� String res = null; // ��sharePreference��ȡ��֮ǰ�洢�IJ��� String token = (String) SPUtils.get(ctx, "token", ""); String singnature = (String) SPUtils.get(ctx, "singnature", ""); String st = (String) SPUtils.get(ctx, "st", ""); try { handler.sendEmptyMessage(HandlerOrder.PROCESSBAR_SHOW); res = OkHttpUtils.getInstance().doGet( ctx, "/admin/activity/findById.do?id=" + id + "&token=" + token + "&singnature=" + singnature + "&st=" + st); handler.sendEmptyMessage(HandlerOrder.PROCESSBAR_HIDE); } catch (Exception e) { e.printStackTrace(); } System.out.println("�������Ļ���ݣ�" + res.trim()); ActivityContentQueryResultBean bean = JSON.parseObject(res, ActivityContentQueryResultBean.class); // ����ֵ������JSON��ʽ�����ݣ���Ҫ��������� if (res.trim().length() == 0) { toastMsg = "��ȡ���Ż����ʧ��"; handler.sendEmptyMessage(HandlerOrder.TOAST); return; } String app_result_key = bean.getApp_result_key(); if ("0".equals(app_result_key))// ���������������Ż������, // ��ô��Ҫ������ȡ�����Ż�ı��⣬���ݣ���ʾ�ڽ����� { Activity b = bean.getEntity(); MainActivity.activity = b; } ctx.jumpToActivityContentFragment(); } }.start(); } /** * �������������أ�����ˢ����ش��� */ @Override public void onRefresh()// ����ˢ�� { // toastMsg = "��⵽����ˢ�¶���"; // handler.sendEmptyMessage(HandlerOrder.TOAST); // ˢ������ getActivityList(); } @Override public void onLoadMore()// ���Ǽ��ظ��� { // toastMsg = "��⵽�������ض���"; // handler.sendEmptyMessage(HandlerOrder.TOAST); pageSize += sizeStep; getActivityList(); } }