package com.jiuqi.njt.register; import java.util.ArrayList; import java.util.Date; import java.util.List; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.TextView; import com.jiuqi.mobile.nigo.comeclose.bean.LoadOnGetList; import com.jiuqi.mobile.nigo.comeclose.bean.app.file.CollectionBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.CollectionEnum; import com.jiuqi.mobile.nigo.comeclose.bean.base.UserBean; import com.jiuqi.mobile.nigo.comeclose.manager.file.ICollectionManager; import com.jiuqi.mobile.nigo.comeclose.manager.master.SelectCollectionKey; import com.jiuqi.njt.R; import com.jiuqi.njt.data.MyApp; import com.jiuqi.njt.data.OptsharepreInterface; import com.jiuqi.njt.ui.PoiSearchResultActivity; import com.jiuqi.njt.ui.SearchResultActivity; import com.jiuqi.njt.util.Constants; import com.jiuqi.njt.util.DateUtil; import com.jiuqi.njt.widget.XListView; import com.jiuqi.njt.widget.XListView.IXListViewListener; import com.jiuqi.njt.widget.XListView.ListFooteState; import com.jiuqi.util.UIUtil; @SuppressLint("NewApi") public class MyFragment extends Fragment implements IXListViewListener { private String TAG = "MyFragment"; /** * 所有的收藏类型数组 */ private CollectionEnum[] allType; private ArrayList<String> collectType = new ArrayList<String>(); private MyApp application; private SelectCollectionKey selectCollectionKey; private OptsharepreInterface sharePre; private View loadlayout; private XListView listView; private int startIndex; private int totalCount; private ArrayList<CollectionBean> dataList; private MyAdapter adapter; private int type; @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); Log.e(TAG, "onActivityCreated"); } @Override public void onAttach(Activity activity) { super.onAttach(activity); Log.e(TAG, "onAttach"); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.e(TAG, "onCreate"); application = (MyApp) getActivity().getApplication(); sharePre = new OptsharepreInterface(getActivity().getApplicationContext()); allType = CollectionEnum.Cooper.values(); for (CollectionEnum iterable_element : allType) { collectType.add(iterable_element.getName()); } selectCollectionKey = new SelectCollectionKey(); selectCollectionKey.setAddPersonGuid(sharePre.getPres("guid")); selectCollectionKey.setTypeOfCollection(0); selectCollectionKey.setSize(Constants.PAGE_SIZE); selectCollectionKey.setStartIndex(startIndex); } @SuppressLint("NewApi") @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { Log.e(TAG, "onCreateView"); View contet = inflater.inflate(R.layout.activity_my_favor_list, container, false); // loadlayout = contet.findViewById(R.id.load_Layout); listView = (XListView) contet.findViewById(R.id.listView); listView.setXListViewListener(this); listView.setPullLoadEnable(true); type = getArguments().getInt("KEY",1); Log.wtf("type", type+""); selectCollectionKey.setTypeOfCollection(type); toQuery(); return contet; } @Override public void onResume() { super.onResume(); Log.e(TAG, "onResume"); // type = getArguments().getInt("KEY", 0); // selectCollectionKey.setTypeOfCollection(type); // toQuery() ; } @Override public void onDestroyView() { super.onDestroyView(); Log.e(TAG, "onDestroyView"); } private void toQuery() { // com.jiuqi.njt.util.UIUtil.hideView(listView); // com.jiuqi.njt.util.UIUtil.showView(loadlayout); dataList = new ArrayList<CollectionBean>(); RegisterUtils.getData(getActivity(), ICollectionManager.class, new TaskInterface() { @Override public <T> void taskFinishReturn(T... result) { if(null!=getActivity()&&null!=dataList){ setFootHintText(); adapter = new MyAdapter(getActivity(), dataList); listView.setAdapter(adapter); } // com.jiuqi.njt.util.UIUtil.showView(listView); // com.jiuqi.njt.util.UIUtil.hideView(loadlayout); onLoad(); } @Override public <T> void taskExecuteReturn(T... result) { LoadOnGetList<CollectionBean> data = ((ICollectionManager) result[0]) .search(selectCollectionKey); if (null != data) { List<CollectionBean> collectionBeanList = data .getList(); if (null != collectionBeanList) { dataList.addAll(collectionBeanList); totalCount = dataList.size(); startIndex += dataList.size(); } } } }, 0); } @Override public void onRefresh() { dataList = new ArrayList<CollectionBean>(); startIndex = 0; totalCount = 0; selectCollectionKey.setStartIndex(startIndex); toQuery(); } @Override public void onLoadMore() {//点击没有更多 // if (startIndex < totalCount) { // selectCollectionKey.setStartIndex(startIndex); // toQuery(); // } else { // UIUtil.showMsg(getActivity(), "没有更多"); // onLoad(); // } // if (totalCount == 0||totalCount%Constants.PAGE_SIZE!=0) { // toQuery();//当totalcount 为0时不加载 // } else { // UIUtil.showMsg(getActivity(), "没有更多信息"); // onLoad(); // } if (startIndex%Constants.PAGE_SIZE == 0) { toQuery(); } else { UIUtil.showMsg(getActivity(), "没有更多信息"); onLoad(); } } public void setFootHintText() { if (totalCount == 0 ) { listView.setListFooteState(ListFooteState.noData);//没有信息 } else if(totalCount % Constants.PAGE_SIZE != 0){ listView.setListFooteState(ListFooteState.noMoreData);//noMoreData,,没有更多信息 }else { listView.setListFooteState(ListFooteState.nomal);//查看更多 } listView.showNoData(); } private void onLoad() { listView.setSelection(((int)(startIndex))-totalCount); listView.stopRefresh(); listView.stopLoadMore();//停止加载图片展示 listView.setRefreshTime(DateUtil.getTimeStamp(new Date(), DateUtil.MM_DD_HH_MM_SS)); } class MyAdapter extends BaseAdapter { private Context context; private List<CollectionBean> collectionBeanList; private LayoutInflater flater; public MyAdapter(Context context, List<CollectionBean> collectionBeanList) { super(); this.context = context; this.collectionBeanList = collectionBeanList; flater = LayoutInflater.from(context); } @Override public int getCount() { return collectionBeanList.size(); } @Override public Object getItem(int position) { return collectionBeanList.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (null == convertView) { holder = new ViewHolder(); convertView = flater.inflate(R.layout.list_item_myfavor, null); TextView textTop = (TextView) convertView .findViewById(R.id.myFavor); Button rightPhone = (Button) convertView .findViewById(R.id.myfavor_phone); holder.tvTitleTop = textTop; holder.btRightPhone = rightPhone; convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.btRightPhone.setVisibility(View.GONE); final CollectionBean collectionBean = collectionBeanList .get(position); if (null != collectionBean) { UserBean userBean = collectionBean.getUserBean(); if (null != userBean) { String name = (null == userBean.getUserName() ? "" : userBean.getUserName()); String tel = (null == userBean.getMobileNumber() ? "" : userBean.getMobileNumber()); holder.tvTitleTop.setText(name); } } convertView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(context, ShowDetail.class); intent.putExtra("CollectionBean", collectionBean); startActivity(intent); } }); return convertView; } class ViewHolder { private TextView tvTitleTop; private Button btRightPhone; } } @Override public void onDestroy() { super.onDestroy(); } }