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.LectureListViewAdapter; 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.lecture.Lecture; import com.bdyjy.entity.lecture.LectureContentQueryResultBean; import com.bdyjy.entity.lecture.LectureQueryResultBean; import com.bdyjy.util.OkHttpUtils; import com.bdyjy.util.SPUtils; 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.ViewGroup; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import android.widget.AdapterView.OnItemClickListener; /** * ������Ϣ�б�Fragment * * @author cuicui create at 2016-03-31 23:42 * */ public class LectureListFragment extends Fragment implements IXListViewListener { private MainActivity ctx; // �Զ��������б���� private XListView lectureListView; private LectureListViewAdapter lectureListViewAdapter; private List<Map<String, Object>> lectureListItems; private TextView tv_back; private int pageSize = 5;// ҳ�潲������-���� private int sizeStep = 5;// ÿ�μ��ص���Ŀ // 2�����͵Ľ�����Ϣ�б���л� private LinearLayout lecture_academic_layout, lecture_forum_layout; 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: lectureListView.onLoad(); loadData(); break; case HandlerOrder.PROCESSBAR_SHOW: ctx.showRoundProcessDialog(); break; case HandlerOrder.PROCESSBAR_HIDE: ctx.hideRoundProcessDialog(); break; } } }; } // ���캯�� public LectureListFragment(MainActivity ctx) { this.ctx = ctx; initHandler(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.lecturelist_fragment, null); tv_back = (TextView) view.findViewById(R.id.tv_back); // tv_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(); } }); lectureListView = (XListView) view.findViewById(R.id.lecture_listview); lectureListView.setPullLoadEnable(true); lectureListView.setXListViewListener(this); lectureListItems = new ArrayList<Map<String, Object>>(); // ѡ��ĵ���¼� lectureListView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // ����ѡ��ĵ���¼� TextView tv = (TextView) view.findViewById(R.id.tv_lecture_id); // �������������Ϣid������ѯ����Ľ�����Ϣ���ݣ���ʾ���� // ��ѯ��̨ getLectureContent(tv.getText().toString()); // System.out.println("������彲������" + tv.getText().toString()); } }); initTab(view); if (null == MainActivity.lectureList) getLectureList(); else loadData(); return view; } /** * ��ʼ��ѡ� * * @param view */ @SuppressLint("NewApi") private void initTab(View view) { // ������Ϣ�����л� lecture_academic_layout = (LinearLayout) view .findViewById(R.id.lecture_academic_layout); lecture_forum_layout = (LinearLayout) view .findViewById(R.id.lecture_forum_layout); // ÿ���л��������ʺ�̨��Ȼ����ص��б��� lecture_academic_layout.setOnClickListener(new OnClickListener() { @SuppressLint("NewApi") @Override public void onClick(View v) { // ���ҽ���ǰѡ�е�������Ӵֱ�ɫ�������Ļع�ԭstyle lecture_academic_layout.setBackground(getResources() .getDrawable(R.drawable.selected_item_bg)); lecture_forum_layout.setBackground(getResources().getDrawable( R.drawable.not_selected_item_bg)); pageSize = 5; getLectureList(); // loadData(); } }); lecture_forum_layout.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // ���ҽ���ǰѡ�е�������Ӵֱ�ɫ�������Ļع�ԭstyle lecture_forum_layout.setBackground(getResources().getDrawable( R.drawable.selected_item_bg)); lecture_academic_layout.setBackground(getResources() .getDrawable(R.drawable.not_selected_item_bg)); pageSize = 5; getLectureList(); } }); } private void loadData() { // ���ԭ������ lectureListItems.clear(); Map<String, Object> map = null; if (MainActivity.lectureList == null) { System.out.println("δ��ȡ��lecture����"); } else { for (int i = 0; i < MainActivity.lectureList.size(); i++) { map = new HashMap<String, Object>(); map.put("poster", R.drawable.news_1); // ͼƬ��Դ, // ��ʱ��ʹ��ͬһ��ͼƬ��Ϊ���� map.put("title", MainActivity.lectureList.get(i).getTitle()); // ��Ʒ���� map.put("lecTime", MainActivity.lectureList.get(i).getLecTime()); map.put("lecPlace", MainActivity.lectureList.get(i) .getLecPlace()); map.put("speaker", MainActivity.lectureList.get(i).getSpeaker()); map.put("content", MainActivity.lectureList.get(i).getContent()); map.put("tv_lecture_id", MainActivity.lectureList.get(i) .getId()); String http = ""; String http2 = ""; String http1 = ""; try { http1 = MainActivity.lectureList.get(i).getPoster() .toString().trim(); http2 = MainActivity.lectureList.get(i) .getAttachmentPrefix(); } catch (Exception e) { e.printStackTrace(); } http = http2 + http1; System.out.println("������ϢͼƬ�ĵ�ַΪ��" + http); map.put("http", http); lectureListItems.add(map); } } if (null == lectureListViewAdapter) { lectureListViewAdapter = new LectureListViewAdapter(ctx, lectureListItems); // ���������� lectureListView.setAdapter(lectureListViewAdapter); } else { lectureListViewAdapter.refresh(lectureListItems); } } // �������װ�Ӻ�̨һ����ȡ������Ϣ�б�ķ��� private void getLectureList() { 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/lecture/grid.do?pageNo=1&pageSize=" + pageSize + "&token=" + token + "&singnature=" + singnature + "&st=" + st); } catch (Exception e) { e.printStackTrace(); toastMsg = "��ȡ������Ϣʧ��"; handler.sendEmptyMessage(HandlerOrder.TOAST); return; } finally { handler.sendEmptyMessage(HandlerOrder.PROCESSBAR_HIDE); } // System.out.println("LectureListFragment��������Ϣ�����󷵻صĽ���ǣ�" + // res.trim()); // ���Խ�json��ת����bean���� LectureQueryResultBean nqrb = JSON.parseObject(res, LectureQueryResultBean.class); // System.out.println("nqrb.getApp_result_key()xxxx00:" + // 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<Lecture> lectureList = nqrb.getData().getRows(); // ����Щ������Ϣ����洢��sp�� MainActivity.lectureList = lectureList; // ʹ��handlerȥ֪ͨ���̸߳���lectureListView handler.sendEmptyMessage(HandlerOrder.UPDATE_LISTVIEW); } } }.start(); } // �������װ�Ӻ�̨һ����ȡ������Ϣ���ݵķ��� private void getLectureContent(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/lecture/findById.do?id=" + id + "&token=" + token + "&singnature=" + singnature + "&st=" + st); handler.sendEmptyMessage(HandlerOrder.PROCESSBAR_HIDE); } catch (Exception e) { e.printStackTrace(); } LectureContentQueryResultBean bean = JSON.parseObject(res, LectureContentQueryResultBean.class); // System.out.println("������彲������" + res.trim()); // ����ֵ������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))// �����������˽�����Ϣ������, // ��ô��Ҫ������ȡ�ý�����Ϣ�ı��⣬���ݣ���ʾ�ڽ����� { Lecture b = bean.getEntity(); MainActivity.lecture = b; } ctx.jumpToLectureContentFragment(); } }.start(); } /** * �������������أ�����ˢ����ش��� */ @Override public void onRefresh()// ����ˢ�� { // toastMsg = "��⵽����ˢ�¶���"; // handler.sendEmptyMessage(HandlerOrder.TOAST); // ˢ������ pageSize = 5; getLectureList(); } @Override public void onLoadMore()// ���Ǽ��ظ��� { // toastMsg = "��⵽�������ض���"; // handler.sendEmptyMessage(HandlerOrder.TOAST); pageSize += sizeStep; getLectureList(); } }