1 import java.util.ArrayList;
2 import java.util.List;
4 import android.content.Context;
5 import android.view.LayoutInflater;
6 import android.view.View;
7 import android.view.ViewGroup;
9 import com.lidroid.xutils.util.LogUtils;
10
11 /**
12 * 基本的适配器,重写 createViewFromResource实现界面
13 *
14 * @author HZY
15 *
16 * @param <T>
17 * list存放的实体
18 */
19 public class BaseAdapter<T> extends android.widget.BaseAdapter {
20 private Context mContext;
21 private LayoutInflater mInflater;
22 private List<T> mDatas = new ArrayList<T>();
23
24 public BaseAdapter(Context mContext, List<T> mDatas) {
25 this.mContext = mContext;
26 this.mDatas = mDatas;
27 this.mInflater = LayoutInflater.from(mContext);
28 }
29
30 public Context getContext() {
31 return this.mContext;
32 }
33
34 public LayoutInflater getLayoutInflater() {
35 return this.mInflater;
36 }
37
38 /**
39 * 刷新 41 * @param mDatas
42 */
43 public void refresh(List<T> mDatas) {
44 if (mDatas != null) {
45 LogUtils.d("size=>" + mDatas.size());
46 }
47 this.mDatas = mDatas;
48 notifyDataSetChanged();
49 }
50
51 /**
52 * 加载更多 54 * @param mDatas
55 */
56 public void loadMore(List<T> mDatas) {
57 if (mDatas == null) {
58 this.mDatas = mDatas;
59 } else {
60 this.mDatas.addAll(mDatas);
61 }
62
63 notifyDataSetChanged();
64 }
65
66 /**
67 * 移除 69 * @param date
70 */
71 public void remove(T date) {
72 if (mDatas != null) {
73 mDatas.remove(date);
74 notifyDataSetChanged();
75 }
77 }
78
79 /**
80 * 移除 82 * @param position
83 */
84 public void remove(int position) {
85 if (mDatas != null && mDatas.size() > position) {
86 mDatas.remove(position);
87 notifyDataSetChanged();
88 }
89 }
90
91 @Override
92 public int getCount() {
93 return mDatas == null ? 0 : mDatas.size();
94 }
95
96 @Override
97 public Object getItem(int position) {
98 return mDatas == null ? null : mDatas.get(position);
99 }
100
101 @Override
102 public long getItemId(int position) {
103 return position;
104 }
105
106 @Override
107 public View getView(int position, View convertView, ViewGroup parent) {
108 return createViewFromResource(position, convertView, parent);
109 }
110
111 protected View createViewFromResource(int position, View convertView,
112 ViewGroup parent) {
113 // TODO Auto-generated method stub
114 return null;
115 }
116
117 }