一、自定义适配器
1、BaseAdapter:是所有适配器类的父类,可以对列表项进行最大限度的定制
2、自定义适配器中的方法
@Override
public int getCount() {
//从java端获取到多少条数据
return data.size();
}
@Override
public Object getItem(int i) {
//获取到具体的数据
return data.get(i);
}
@Override
public long getItemId(int i) {
//获取到第几条数据
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
return null;
}
2、LayoutInflater(布局解析器)
LayoutInflater有三种获得方式,资料中有详细介绍
用来把layout布局文件解析成一个View对象,不可以new,需要使用系统服务获得
inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
3、案例:展示数据(书本打比方)
①、book.java(实体类)
package com.example.t212_09;
public class Book {
private Integer id;
private String title;
private String author;
private Float price;
private String publish;
private String remark;
private int image;
public Book() {
super();
}
public int getImage() {
return image;
}
public void setImage(int image) {
this.image = image;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public Float getPrice() {
return price;
}
public void setPrice(Float price) {
this.price = price;
}
public String getPublish() {
return publish;
}
public void setPublish(String publish) {
this.publish = publish;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
//数据库中也需要这几个列
②、展示所有的dao方法
package com.example.t212_09;
import java.util.ArrayList;
import java.util.List;
public class BookDao {
private int[] bookImages = new int[] { R.drawable.book1, R.drawable.book2,
R.drawable.book3, R.drawable.book4, R.drawable.book5,
R.drawable