android ListView
ListView
- divider 子项分隔线
- dividerHeight
- headerDividersEnabled
- footerDividersEnabled
- listSelector 子项点击效果
- addHeaderView()
- addFooterView()
- setAdapter()
ArrayAdapter
ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects)
SimpleAdapter
SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)
resource: 子项布局
from: keys
to: ids
data: get(from[i])---->to[i]
BaseAdapter
class MyAdapter extends BaseAdapter {
private Context context;
private List dataList;
//创建ViewHolder类
class ViewHolder{
TextView content;
}
//构造函数需要传入两个必要的参数:上下文对象和数据源
public MyAdapter(Context context, List dataList) {
this.context = context;
this.dataList = dataList;
}
//返回子项视图
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view;
ViewHolder viewHolder;
if(convertView==null){
view = LayoutInflater.from(context).inflate(R.layout.item_id,null);
viewHolder=new ViewHolder();
viewHolder.content=(TextView) view.findViewById(R.id.item_content_id);
view.setTag(viewHolder);
}else{
view=convertView;
viewHolder= (ViewHolder) view.getTag();
}
viewHolder.content.setText(dataList.get(position));
return view;
}
//返回子项的个数
@Override
public int getCount() {
return dataList.size();
}
//返回子项对应的对象
@Override
public Object getItem(int position) {
return dataList.get(position);
}
//返回子项的下标
@Override
public long getItemId(int position) {
return position;
}
}