案例一 图文混排:
第一步:定义使用到的组件
ListView listview=null;
第二步:书写一个方法,在方法中完成数据的加工
public void initdata(){
List<Map<String,Object>> data=new ArrayList<Map<String,Object>();
for(int i=1;i<=10;i++){
Map<String,Object> map=new HashMap<String,Object>();
map.put("image", R.drawable.ic_launcher);
map.put("content", "光头强又看书了");
data.add(map);
}
}
第三步: 自定义适配器
1>定义一个静态内部类,定义布局中的各种组件
static class ViewHolder{
public ImageView image;//在自定义布局文件中也要做哦
public TextView content;
}
2>自定义适配器
public class MyAdapter extends BaseAdapter{
//加载布局文件
private LayoutInflater layoutInflater;
public MyAdapter(Context context){
layoutInflater=(layoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
//在继承BaseAdapter类必须实现四个方法
//获得数据总大小
public int getCount() {
return data.size();
}
//获得位置
public Object getItem(int position) {
return position;
}
//获得位置的编号
public long getItemId(int position) {
return position;
}
//
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder =null;
if(convertView==null){
//加载布局文件
convertView=layoutInflater.inflate(R.layout.item, null);
hodler=new ViewHolder();
//将获得的控件对象放到hodler中
hodler.image=(ImageView) convertView.findViewById(R.id.image);
hodler.image=(TextView) convertView.findViewById(R.id.content);
//做个tag标记
convertView.setTag(holder);
}else{
hodler=(ViewHolder) converView.getTag();
}
//将数据绑定到控件中
holder.image.setBackgroundResource((Integer)data.get(position).get("image"));
holder.content.setText(data.get(postion).get("content").toString());
return convertView;
}
第四步:在主UI中添加适配器
listview .setAdapter(new MyAdapter());
第一步:定义使用到的组件
ListView listview=null;
第二步:书写一个方法,在方法中完成数据的加工
public void initdata(){
List<Map<String,Object>> data=new ArrayList<Map<String,Object>();
for(int i=1;i<=10;i++){
Map<String,Object> map=new HashMap<String,Object>();
map.put("image", R.drawable.ic_launcher);
map.put("content", "光头强又看书了");
data.add(map);
}
}
第三步: 自定义适配器
1>定义一个静态内部类,定义布局中的各种组件
static class ViewHolder{
public ImageView image;//在自定义布局文件中也要做哦
public TextView content;
}
2>自定义适配器
public class MyAdapter extends BaseAdapter{
//加载布局文件
private LayoutInflater layoutInflater;
public MyAdapter(Context context){
layoutInflater=(layoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
//在继承BaseAdapter类必须实现四个方法
//获得数据总大小
public int getCount() {
return data.size();
}
//获得位置
public Object getItem(int position) {
return position;
}
//获得位置的编号
public long getItemId(int position) {
return position;
}
//
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder =null;
if(convertView==null){
//加载布局文件
convertView=layoutInflater.inflate(R.layout.item, null);
hodler=new ViewHolder();
//将获得的控件对象放到hodler中
hodler.image=(ImageView) convertView.findViewById(R.id.image);
hodler.image=(TextView) convertView.findViewById(R.id.content);
//做个tag标记
convertView.setTag(holder);
}else{
hodler=(ViewHolder) converView.getTag();
}
//将数据绑定到控件中
holder.image.setBackgroundResource((Integer)data.get(position).get("image"));
holder.content.setText(data.get(postion).get("content").toString());
return convertView;
}
第四步:在主UI中添加适配器
listview .setAdapter(new MyAdapter());