package com.bdyjy.fragment; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.annotation.SuppressLint; 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.View.OnClickListener; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import com.alibaba.fastjson.JSON; import com.bdyjy.R; import com.bdyjy.activity.MainActivity; import com.bdyjy.adapter.MyComplaintListAdapter; 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.complaint.ComplaintContentQueryResultBean; import com.bdyjy.entity.complaint.ComplaintQueryResultBean; import com.bdyjy.entity.complaint.Complaints; import com.bdyjy.util.OkHttpUtils; import com.bdyjy.util.SPUtils; /** * * @author holy �ҵ�Ͷ�߽����б��� * */ /** * ��Щ�����ݲ����� * * */ public class MyComplaintListFragment extends Fragment implements IXListViewListener { Handler handler = null; String toastMsg = null; 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: listView.onLoad(); loadData(); break; case HandlerOrder.PROCESSBAR_SHOW: ctx.showRoundProcessDialog(); break; case HandlerOrder.PROCESSBAR_HIDE: ctx.hideRoundProcessDialog(); break; } } }; } private MainActivity ctx; // �Զ��������б���� private XListView listView; private MyComplaintListAdapter complaintViewAdapter; private List<Map<String, Object>> listItems; private TextView tv_back; private int pageSize = 5;// ҳ����������-���� private int sizeStep = 5;// ÿ�μ��ص���Ŀ /** * 1����ʳ�ã�2����У԰��ȫ��3�������� */ int type = 1; public MyComplaintListFragment(MainActivity ctx) { this.ctx = ctx; initHandler(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.mycomplaint_fragment, null); // ���ؼ� // tv_back = (TextView) view.findViewById(R.id.tv_back); view.findViewById(R.id.ll_back).setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { if ("personCenter".equals(MainActivity.orderFrom)) { ctx.jumpToPersonalCenterFragment(); MainActivity.orderFrom = "";// ��ת֮��������� } else { ctx.jumpToComplaintFregment(); } } }); listView = (XListView) view.findViewById(R.id.compliantlist); listView.setPullLoadEnable(true); listView.setXListViewListener(this); listItems = new ArrayList<Map<String, Object>>(); // ѡ��ĵ���¼� listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // ����ѡ��ĵ���¼� TextView tv = (TextView) view.findViewById(R.id.mycomplaint_id); // ���������Ŀid������ѯ��������ݣ���ʾ���� // ��ѯ��̨ // Toast.makeText(getActivity(), tv.getText().toString(), // Toast.LENGTH_SHORT).show(); getContent(tv.getText().toString()); } }); pageSize = 5; getList(type); System.out.println(MainActivity.newsList); loadData(); initTab(view); return view; } private void loadData() { // ���ԭ������ listItems.clear(); Map<String, Object> map = null; if (MainActivity.complaintsList == null) { System.out.println("complaintsListΪ��"); } else { for (int i = 0; i < MainActivity.complaintsList.size(); i++) { map = new HashMap<String, Object>(); map.put("complaint_image", R.drawable.news_1); // ͼƬ��Դ, // ��ʱ��ʹ��ͬһ��ͼƬ��Ϊ���� map.put("complaint_title", MainActivity.complaintsList.get(i) .getTitle()); // ��Ʒ���� map.put("complaint_id", MainActivity.complaintsList.get(i) .getId()); map.put("complaint_classify", MainActivity.complaintsList .get(i).getTypeShow()); map.put("complaint_status", MainActivity.complaintsList.get(i) .getStausShow()); List<attArryData> attArry = MainActivity.complaintsList.get(i) .getAttArry(); String http = ""; String http2 = ""; String http1 = ""; try { http1 = attArry.get(0).getFilePath().toString().trim(); http2 = MainActivity.complaintsList.get(i) .getAttachmentPrefix(); } catch (Exception e) { e.printStackTrace(); } http = http2 + http1; map.put("http", http); System.out.println("ͼƬ��ַΪ��" + http); listItems.add(map); } if (null == complaintViewAdapter) { complaintViewAdapter = new MyComplaintListAdapter(ctx, listItems); // ���������� listView.setAdapter(complaintViewAdapter); } else { complaintViewAdapter.refresh(listItems); } } } // �������װ�Ӻ�̨һ����ȡͶ�߽����б�ķ��� private void getList(final int type) { Thread thread = 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/proposal/grid.do?pageNo=1&pageSize=" + pageSize + "&type=" + type + "&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���� ComplaintQueryResultBean nqrb = JSON.parseObject(res, ComplaintQueryResultBean.class); // System.out.println("xxxx:" + nqrb.getApp_result_key()); // ����ֵ������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<Complaints> list = nqrb.getData().getRows(); for (Complaints n : list) { System.out.println(n.getTitle()); } // ����Щ���Ŷ���洢��sp�� MainActivity.complaintsList = list; // ʹ��handlerȥ֪ͨ���̸߳���listview handler.sendEmptyMessage(HandlerOrder.UPDATE_LISTVIEW); } } }; thread.start(); } // �������װ�Ӻ�̨һ����ȡͶ���б����ݵķ��� private void getContent(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/proposal/findById.do?id=" + id + "&token=" + token + "&singnature=" + singnature + "&st=" + st); handler.sendEmptyMessage(HandlerOrder.PROCESSBAR_HIDE); } catch (Exception e) { e.printStackTrace(); toastMsg = "��ȡ����ʧ��"; handler.sendEmptyMessage(HandlerOrder.PROCESSBAR_HIDE); handler.sendEmptyMessage(HandlerOrder.TOAST); return; } System.out.println("����Ͷ�߽������ݷ��صĽ���ǣ�" + res.trim()); ComplaintContentQueryResultBean bean = JSON.parseObject(res, ComplaintContentQueryResultBean.class); // System.out.println("xxxx:" + bean.getApp_result_key()); // ����ֵ������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))// ���������������ŵ�����, // ��ô��Ҫ������ȡ�����ŵı��⣬���ݣ���ʾ�ڽ����� { Complaints b = bean.getEntity(); MainActivity.complaints = b; System.out.println("news:" + b); } ctx.jumpToComplaintContentFregment(); } }.start(); } /** * �������������أ�����ˢ����ش��� */ @Override public void onRefresh()// ����ˢ�� { // toastMsg = "��⵽����ˢ�¶���"; // handler.sendEmptyMessage(HandlerOrder.TOAST); // ˢ������ getList(type); } @Override public void onLoadMore()// ���Ǽ��ظ��� { // toastMsg = "��⵽�������ض���"; // handler.sendEmptyMessage(HandlerOrder.TOAST); pageSize += sizeStep; getList(type); } // 3�����͵������б���л� private LinearLayout ll_news_type1, ll_news_type2, ll_news_type3; /** * ��ʼ��ѡ� * * @param view */ @SuppressLint("NewApi") private void initTab(View view) { // ���������л� ll_news_type1 = (LinearLayout) view.findViewById(R.id.ll_news_type1); ll_news_type2 = (LinearLayout) view.findViewById(R.id.ll_news_type2); ll_news_type3 = (LinearLayout) view.findViewById(R.id.ll_news_type3); // ÿ���л��������ʺ�̨��Ȼ����ص��б��� ll_news_type1.setOnClickListener(new OnClickListener() { @SuppressLint("NewApi") @Override public void onClick(View v) { // ���ҽ���ǰѡ�е�������Ӵֱ�ɫ�������Ļع�ԭstyle ll_news_type1.setBackground(getResources().getDrawable( R.drawable.selected_item_bg)); ll_news_type2.setBackground(getResources().getDrawable( R.drawable.not_selected_item_bg)); ll_news_type3.setBackground(getResources().getDrawable( R.drawable.not_selected_item_bg)); pageSize = 5; type = 1; // getNewsList(type); getList(type);// ��������Ҫ���ر𷽷� } }); ll_news_type2.setOnClickListener(new OnClickListener() { @SuppressLint("NewApi") @Override public void onClick(View v) { // ���ҽ���ǰѡ�е�������Ӵֱ�ɫ�������Ļع�ԭstyle ll_news_type2.setBackground(getResources().getDrawable( R.drawable.selected_item_bg)); ll_news_type1.setBackground(getResources().getDrawable( R.drawable.not_selected_item_bg)); ll_news_type3.setBackground(getResources().getDrawable( R.drawable.not_selected_item_bg)); pageSize = 5; type = 2; getList(type); } }); ll_news_type3.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // ���ҽ���ǰѡ�е�������Ӵֱ�ɫ�������Ļع�ԭstyle ll_news_type3.setBackground(getResources().getDrawable( R.drawable.selected_item_bg)); ll_news_type2.setBackground(getResources().getDrawable( R.drawable.not_selected_item_bg)); ll_news_type1.setBackground(getResources().getDrawable( R.drawable.not_selected_item_bg)); pageSize = 5; type = 3; getList(type); } }); } }