Java 在自定义ArrayList适配器方案中调用.setAdapter时,操作流是什么?

Java 在自定义ArrayList适配器方案中调用.setAdapter时,操作流是什么?,java,android,listview,arraylist,Java,Android,Listview,Arraylist,当试图在活动中填充ListView时,ArrayAdapter如何与ArrayList交互的概念让我有点困惑 下面是一个让我有点困惑的指南示例: 形象 如果查看构造函数中的UsersAdapter,您将看到实际上是将ArrayList用户作为最后一个参数传递给父类构造函数 super(context, R.layout.item_user, users); ArrayAdaper保留对传入的用户列表的引用,并在内部使用。如果查看ArrayAdapter中的getItem(…)所做的事情,它只

当试图在活动中填充ListView时,ArrayAdapter如何与ArrayList交互的概念让我有点困惑

下面是一个让我有点困惑的指南示例:

形象

如果查看构造函数中的
UsersAdapter
,您将看到实际上是将
ArrayList用户作为最后一个参数传递给父类构造函数

super(context, R.layout.item_user, users);
ArrayAdaper
保留对传入的用户列表的引用,并在内部使用。如果查看
ArrayAdapter
中的
getItem(…)
所做的事情,它只是从指定索引处的列表返回项目

public T getItem(int position) {
    return mObjects.get(position); // mObjects references same ArrayList as users
}
长话短说,这与使用
用户相同。在本例中,获取(位置)

public class User {
public String name;
public String hometown;

public User(String name, String hometown) {
   this.name = name;
   this.hometown = hometown;
   }
 }  
super(context, R.layout.item_user, users);
public T getItem(int position) {
    return mObjects.get(position); // mObjects references same ArrayList as users
}