package com.jiuqi.njt.NewsAndFavor;
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.register.RegisterUtils;
import com.jiuqi.njt.register.ShowDetail;
import com.jiuqi.njt.register.TaskInterface;
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;
public class MyFragmentNew 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();
}
}