一.适配器Adapter
public class BookAdapter extends BaseAdapter {
private List<Book> bookList;
private Context context;
private LayoutInflater layoutInflater;
/*
1.Context是一个场景,作为一个抽象类,Activity,Service,Application是它的子类
2.两个参数,一个传入数据,一个传入Context
*/
public BookAdapter(List<Book> bookList, Context context) {
this.bookList = bookList;
this.context = context;
layoutInflater=LayoutInflater.from(context);
}
@Override
public int getCount() {
return bookList.size();
}
@Override
public Object getItem(int position) {
return bookList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null){
convertView=layoutInflater.inflate(R.layout.item_book,null);
}
Holder holder= (Holder) convertView.getTag();
if (holder==null){
holder=new Holder();
holder.bookImg=convertView.findViewById(R.id.bookImg);
holder.bookNametxt=convertView.findViewById(R.id.bookNametxt);
holder.authortxt=convertView.findViewById(R.id.authortxt);
convertView.setTag(holder);
}
holder.bookImg.setImageAlpha(bookList.get(position).getPicture());
holder.bookNametxt.setText("书名:"+bookList.get(position).getName());
holder.authortxt.setText("作者:"+bookList.get(position).getAuthor());
return convertView;
}
//起到缓存的效果
class Holder{
ImageView bookImg;
TextView bookNametxt;
TextView authortxt;
}
}
二.ListView
public class BookListActivity extends AppCompatActivity {
private ListView listView;
private BookAdapter bookAdapter;
private List<Book> bookList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_book_list);
initView();
}
public void initView(){
listView=findViewById(R.id.bookList);
BookDao bookDao=new BookDao();
bookList=bookDao.findAll();
//bookDao.addBook();
bookAdapter=new BookAdapter(bookList,BookListActivity.this);
listView.setAdapter(bookAdapter);
}
}