/** *�ҵ�ά������ *create by songdebin 2016-04-06 * */ 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.MyFixAdapter; import com.bdyjy.constants.Const; import com.bdyjy.constants.HandlerOrder; import com.bdyjy.custom.view.XListView; import com.bdyjy.custom.view.XListView.IXListViewListener; import com.bdyjy.entity.fix.MyFix; import com.bdyjy.entity.fix.MyFixListBean; import com.bdyjy.entity.fix.MyFixContentBean; import com.bdyjy.util.OkHttpUtils; import com.bdyjy.util.SPUtils; import com.bdyjy.util.StringUtil; 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.ListView; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Button; import android.widget.AdapterView.OnItemClickListener; import android.widget.Toast; @SuppressLint("ValidFragment") public class MyFixFragment extends Fragment implements IXListViewListener { private TextView tv_back; private Button btn_release; private ArrayList list; private MainActivity ctx; private XListView lv_fix;// ����չʾ�б� private MyFixAdapter adpater;// ���������� private List<Map<String, Object>> listItems; private Handler handler = null; private int type = 1;// ��ȡ���������� 1�������� 2�������� 3�������� private int pageSize = 5;// ���ص��б���Ŀ private int sizeStep = 5;// ÿ�μ��ص���Ŀ // ������ʾ״̬֮����л� private RelativeLayout l1; private RelativeLayout l2; private RelativeLayout l3; private TextView tv_tag1; private TextView tv_tag2; private TextView tv_tag3; private View view_tag1; private View view_tag2; private View view_tag3; String toastMsg = null; public MyFixFragment(ArrayList list, MainActivity ctx) { this.ctx = ctx; this.list = list; } public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.my_fix_fragment, null); // ������һ���� tv_back = (TextView) view.findViewById(R.id.tv_back); // tv_back.setOnClickListener(new OnClickListener() // { // @Override // public void onClick(View v) // { // ctx.backToClickWithId(list); // } // }); view.findViewById(R.id.ll_back).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ctx.backToClickWithId(list); } }); // ��ת������ҳ btn_release = (Button) view.findViewById(R.id.setting); btn_release.setOnClickListener(new OnClickListener() { public void onClick(View v) { ctx.jumpToClickWithId(Const.FRAGMENT_ASKFIX_ID, list); } }); lv_fix = (XListView) view.findViewById(R.id.lv_fix_list); lv_fix.setPullLoadEnable(true); lv_fix.setXListViewListener(this); listItems = new ArrayList<Map<String, Object>>(); // ���һ�� lv_fix.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { TextView tv_id = (TextView) view .findViewById(R.id.tv_myfix_id_item); getMyFixContent(tv_id.getText().toString()); } }); 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.PROCESSBAR_SHOW: ctx.showRoundProcessDialog(); break; case HandlerOrder.PROCESSBAR_HIDE: ctx.hideRoundProcessDialog(); break; case HandlerOrder.UPDATE_LISTVIEW: lv_fix.onLoad(); loadData(); break; } } }; type=1; getMyFixList(type); initTab(view); return view; } private void initTab(View view) { // ���������л� l1 = (RelativeLayout) view.findViewById(R.id.ly_lost1); l2 = (RelativeLayout) view.findViewById(R.id.ly_lost2); l3 = (RelativeLayout) view.findViewById(R.id.ly_lost3); tv_tag1 = (TextView) view.findViewById(R.id.tv_lost_tag1); tv_tag2 = (TextView) view.findViewById(R.id.tv_lost_tag2); tv_tag3 = (TextView) view.findViewById(R.id.tv_lost_tag3); view_tag1 = (View) view.findViewById(R.id.view_lost_tag1); view_tag2 = (View) view.findViewById(R.id.view_lost_tag2); view_tag3 = (View) view.findViewById(R.id.view_lost_tag3); // ÿ���л��������ʺ�̨��Ȼ����ص��б��� l1.setOnClickListener(new OnClickListener() { @SuppressLint("NewApi") @Override public void onClick(View v) { // ���ҽ���ǰѡ�е�������Ӵֱ�ɫ�������Ļع�ԭstyle tv_tag1.setTextColor(0xFF5A5A5A); tv_tag2.setTextColor(0xFF9A9A9A); tv_tag3.setTextColor(0xFF9A9A9A); view_tag1.setBackgroundColor(0xFF5A5A5A); view_tag2.setBackgroundColor(0x005A5A5A); view_tag3.setBackgroundColor(0x005A5A5A); type=1; getMyFixList(type); } }); l2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // ���ҽ���ǰѡ�е�������Ӵֱ�ɫ�������Ļع�ԭstyle tv_tag1.setTextColor(0xFF9A9A9A); tv_tag2.setTextColor(0xFF5A5A5A); tv_tag3.setTextColor(0xFF9A9A9A); view_tag1.setBackgroundColor(0x005A5A5A); view_tag2.setBackgroundColor(0xFF5A5A5A); view_tag3.setBackgroundColor(0x005A5A5A); type=2; getMyFixList(type); } }); l3.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // ���ҽ���ǰѡ�е�������Ӵֱ�ɫ�������Ļع�ԭstyle tv_tag1.setTextColor(0xFF9A9A9A); tv_tag2.setTextColor(0xFF9A9A9A); tv_tag3.setTextColor(0xFF5A5A5A); view_tag1.setBackgroundColor(0x005A5A5A); view_tag2.setBackgroundColor(0x005A5A5A); view_tag3.setBackgroundColor(0xFF5A5A5A); type=3; getMyFixList(type); } }); } // ��listview�������� private void loadData() { // ���ԭ������ listItems.clear(); Map<String, Object> map = null; for (int i = 0; i < MainActivity.myfixlist.size(); i++) { map = new HashMap<String, Object>(); // map.put("title", // StringUtil.transStr(MainActivity.myfixlist.get(i) // .getTitle())); // ��Ʒ���� map.put("title", MainActivity.myfixlist.get(i).getTitle()); // ��Ʒ���� map.put("time", MainActivity.myfixlist.get(i).getCreateTime()); map.put("id", MainActivity.myfixlist.get(i).getId()); // map.put("filePath",MainActivity.myfixlist.get(i).getAttArry().get(0).getFilePath().trim()); //����ͼƬ��ַ listItems.add(map); } if (null == adpater) { adpater = new MyFixAdapter(ctx, listItems); // ���������� lv_fix.setAdapter(adpater); } else { adpater.refresh(listItems); } } // ��ȡ�ҵ�ά�������б� private void getMyFixList(final int type) { 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/maintenance/grid.do?pageNo=1"+"&pageSize="+pageSize+ "&type=" + type + "&token=" + token + "&singnature=" + singnature + "&st=" + st+"&userId="+token); 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��ʽ�����ݣ���Ҫ��������� if (res.trim().length() == 0) { toastMsg = "��ȡʧ��,������"; handler.sendEmptyMessage(HandlerOrder.TOAST); return; } MyFixListBean bean = JSON.parseObject(res, MyFixListBean.class); String app_result_key = bean.getApp_result_key(); if ("0".equals(app_result_key)) { // ��������˵���������������ݣ���Ҫ�������ȡ���ŵı��� List<MyFix> list = bean.getData().getRows(); // for (MyFix n : list) // { // System.out.println("�������"+n.getAttArry().get(0).getFilePath()); // } //����Щ���Ŷ���洢��sp�� MainActivity.myfixlist = list; // // ʹ��handlerȥ֪ͨ���̸߳���listview handler.sendEmptyMessage(HandlerOrder.UPDATE_LISTVIEW); // ������Ϣ�ɹ� // ��ʱ���� } else { toastMsg = "��ȡʧ��,������"; handler.sendEmptyMessage(HandlerOrder.TOAST); } } }.start(); } // ��ȡ�������� private void getMyFixContent(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/maintenance/findById.do?id=" + id + "&token=" + token + "&singnature=" + singnature + "&st=" + st); handler.sendEmptyMessage(HandlerOrder.PROCESSBAR_HIDE); } catch (Exception e) { e.printStackTrace(); } //System.out.println("content��������" + res.trim()); //System.out.println("�������"+bean.getAttArry().get(0).getFilePath()); //System.out.println("xxxx:" + bean.getApp_result_key()); // ����ֵ������JSON��ʽ�����ݣ���Ҫ��������� if (res.trim().length() == 0) { toastMsg = "��ȡ��������ʧ��"; handler.sendEmptyMessage(HandlerOrder.TOAST); return; } MyFixContentBean bean = JSON.parseObject(res, MyFixContentBean.class); String app_result_key = bean.getApp_result_key(); if ("0".equals(app_result_key))// ���������������ŵ�����, // ��ô��Ҫ������ȡ�����ŵı��⣬���ݣ���ʾ�ڽ����� { MyFix b = bean.getEntity(); MainActivity.myfixcontent = b; } ctx.jumpToClickWithId(Const.FRAGMENT_MYFIXCONTENT_ID, list); } }.start(); } /** * �������������أ�����ˢ����ش��� */ @Override public void onRefresh()// ����ˢ�� { getMyFixList(type); } @Override public void onLoadMore()// ���Ǽ��ظ��� { pageSize += sizeStep; getMyFixList(type); } }