/**
*�ҵ�ά������
*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);
}
}