//适配器的理解:通过建立ListView.xml(放置一行一行自定义格式的数据),设置适配器.xml文件进行设置我们想看到的数据显示样式(我们自己做一行显示,然后在主界面显示出多行),适配器是为了让多行数据填充进去
![](https://i-blog.csdnimg.cn/blog_migrate/b2ff599156c686aaccfec02f62150c0d.png)
所以说Main.xml只需要
![](https://i-blog.csdnimg.cn/blog_migrate/4a7291fd24f984da93b5bc680e1c7833.png)
对于BaseAdapter适配器的理解
1.首先我们的想法是想要定义我们想要的数据类型,并传入界面,所以定义了一个Entity
2.建立适配器,以下方法是生成的,然后要加入一个传入上下文(我的理解这玩意叫背景环境)和数据的方法
3.在主活动定义此适配器,传入上下文和参数即可
public class ListViewAdapter extends BaseAdapter {
private Context context;
private List<DishInfo> data;
public ListViewAdapter(Context context,List<DishInfo>data){
this.context = context;
this.data = data;
}
@Override
public int getCount() {
return data.size();
}
@Override
public Object getItem(int i) {
return data.get(i);
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
View view1 = View.inflate(context,R.layout.itemsimple,null);
DishInfo dishInfo = data.get(i);
ImageView imageView = view1.findViewById(R.id.tv_image);
TextView name = view1.findViewById(R.id.tv_name);
TextView content = view1.findViewById(R.id.tv_content);
imageView.setImageResource(dishInfo.getImgId());
name.setText(dishInfo.getName());
content.setText(dishInfo.getContent());
return view1;
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/8da3fff19a2bd221bd2dde5838490e81.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1304577f1be2e1193e94a4aa487bdeae.png)