package com.parttime.publish; import android.app.Activity; import android.os.Bundle; import android.support.annotation.Nullable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import com.android.volley.VolleyError; import com.parttime.net.DefaultCallback; import com.parttime.net.PublishRequest; import com.parttime.net.ResponseBaseCommonError; import com.parttime.publish.adapter.JobBrokerListAdapter; import com.parttime.publish.vo.JobBrokerChartsFragmentVo; import com.parttime.utils.CheckUtils; import com.parttime.utils.IntentManager; import com.parttime.widget.BaseXListView; import com.qingmu.jianzhidaren.R; import com.quark.fragment.company.BaseSupportFragment; import me.maxwin.view.XListView; /** * 经纪人-排行列表 * Created by wyw on 2015/8/4. */ public class JobBrokerChartsFragment extends BaseSupportFragment implements AdapterView.OnItemClickListener, XListView.IXListViewListener { public static final int PAGE_COUNT = 20; private BaseXListView mListViewMain; private JobBrokerListAdapter mAdapterMain; private JobBrokerChartsFragmentVo mCurrentVo; private DefaultCallback mDefaultCallback = new DefaultCallback() { @Override public void success(Object obj) { showWait(false); mCurrentVo = (JobBrokerChartsFragmentVo) obj; if (CheckUtils.isSafe(getActivity())) { getActivity().runOnUiThread(new Runnable() { @Override public void run() { if (mCurrentVo.pageNumber == 1) { mAdapterMain.setAll(mCurrentVo.jobBrokerListVos); mListViewMain.updateRefreshTime(); } else { mAdapterMain.addAll(mCurrentVo.jobBrokerListVos); } mListViewMain.setLoadOver(mCurrentVo.jobBrokerListVos.size(), PAGE_COUNT); mListViewMain.stopRefresh(); mListViewMain.stopLoadMore(); } }); } } @Override public void failed(Object obj) { showWait(false); if (obj instanceof ResponseBaseCommonError) { ResponseBaseCommonError error = (ResponseBaseCommonError) obj; showToast(error.msg); } else if (obj instanceof VolleyError) { VolleyError error = (VolleyError) obj; showToast(error.getMessage()); } } }; public static JobBrokerChartsFragment newInstance() { return new JobBrokerChartsFragment(); } @Override public void onAttach(Activity activity) { super.onAttach(activity); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_broker_charts, null); mListViewMain = (BaseXListView) view.findViewById(R.id.listview_main); bindListener(); return view; } private void bindListener() { mListViewMain.setOnItemClickListener(this); mListViewMain.setXListViewListener(this); } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); bindData(); } @Override public void onResume() { super.onResume(); } @Override public void onDetach() { super.onDetach(); } @Override public void onDestroyView() { super.onDestroyView(); } private void bindData() { mAdapterMain = new JobBrokerListAdapter(getActivity(), queue); mListViewMain.setAdapter(mAdapterMain); refreshFirstPage(); } // 刷新第一页 private void refreshFirstPage() { mCurrentVo = null; showWait(true); refreshListView(); } private void refreshListView() { new PublishRequest().agentList(getNextPageNumber(), PAGE_COUNT, PublishRequest.PUBLISH_ACTIVITY_LIST_TYPE_UNDERCARRIAGE, queue, mDefaultCallback); } private void loadMore() { refreshListView(); } // 获取下一页页码 private int getNextPageNumber() { return mCurrentVo == null ? 1 : mCurrentVo.pageNumber + 1; } @Override public void onItemClick(AdapterView<?> parent, View view, int i, long id) { int position = i - 1; if (position < mAdapterMain.getCount()) { long companyId = mAdapterMain.getItemId(position); IntentManager.openBrokerDetailActivity(getActivity(), (int) companyId); } else { showToast(R.string.error_date_and_refresh); } } @Override public void onRefresh() { refreshFirstPage(); } @Override public void onLoadMore() { loadMore(); } }