问题描述
- 目前情况下怎么设计代码比较优雅(android)?
-
原来的项目里有好多listview,为此为每个listview都单独写了adapter和item,现在设计改设计了,要求每个listview都能和微信通讯录一样有sortbar和分类栏,那么我原来的做法是给每个item上面添加上一个隐藏的分类栏,然后再adapter中选择要不要显示,但是现在listview太多了,这样效率很低,我要怎么设计代码才能方便的达到这个需求?
解决方案
直接将 数据按照字母排序A_z,然后item分为两类 标题类型 和数据类型
适配器在判断数据的字母变化时,加入一个标题类型,用这种思路去做。github有很多这种demo,自己去找下
解决方案二:
重新封装一个BaseListView
解决方案四:
public abstract class MyBaseAdapter<T> extends BaseAdapter {
public List<T> list;
public Context context;
public MyBaseAdapter() {
}
public MyBaseAdapter(Context context, List<T> list) {
super();
this.context = context;
this.list = list;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return createView(position, convertView, parent);
}
public abstract View createView(int position, View convertView,
ViewGroup parent);
}
时间: 2024-10-31 18:56:47