Android Studio中ListView通过自定义Adapter显示数据3-2

3 自定义FootballClub_Adapter类

接下来在项目中自定义一个名为FootballClub_Adapter类,将该类的父类设置为BaseAdapter,如图6所示。

图6 自定义FootballClub_Adapter类

3.1 BaseAdapter类

BaseAdapter类是Adapter类的一个抽象子类。在定义BaseAdapter类的子类时,必须要重写该类的getCount()、getItem()、getItemId()和getView()这四个成员方法。

3.1.1 getCount()方法

getCount()方法的作用是获取适配器中表示的数据的项数。该方法的格式为

public abstract int getCount()

3.1.2 getItem()方法

getItem()方法的作用是获取适配器中指定位置的数据。该方法的格式为

public abstract Object getItem(int position)

其中,参数position为指定的位置。

3.1.3 getItemId()方法

getItemId()方法的作用是获取是配置中指定位置行的ID。该方法的格式为

public abstract long getItemId(int postion)

其中,参数position为指定的位置。

3.1.4 getView()方法

getView()方法的作用是获取适配器中指定位置的用于显示数据的视图。当每次显示ListView中各个项时,都会调用与其关联的适配器的getView()方法。该方法的格式为

public abstract View getView(int position, View converView, ViewGroup parent)

其中,参数position是指定位置;converView刷新ListView项之前的“老视图”;parent是该适配器项视图的上一级视图。在自定义的FootballClub_Adapter类中,将重点重写getView()方法。

3.2 FootballClub_Adapter类

3.2.1 定义成员变量

为FootballClub_Adapter类定义两个成员变量,如图7所示。

图7 FootballClub_Adapter类的成员变量

其中,mData是List<FootballClub>列表的对象,用来保存FootballClub类的对象;flater是布局类LayoutInflater类的对象,用来导入适配器项相关的布局文件。

相关链接1:List类与ArrayList类,List是一个集合类,用于保存多个数据;ArrayList是List的一个子类,是一个动态数组。

相关链接2:LayoutInflater类,该类可以将布局文件实例化为相应的View对象,即可以用于布局文件的导入。

3.2.2 定义构造方法

FootballClub_Adapter类的构造方法如图8所示代码定义。

图8 FootballClub_Adapter类的构造方法

其中,构造方法的参数context表示该适配器所处的上下文;list是FootballClub对象的集合。FootballClub_Adapter类在构造方法中,对该类的两个成员变量mData和flater进行初始化赋值,其中addAll()方法的作用是将list中所有的数据都添加到mData中,LayoutInflater.from()方法的作用是从给定的上下文中获取LayoutInflater对象。

3.2.3 重写getCount()、getItem()、getItemId()方法

重写getCount()方法的代码如图9所示。

图9 重写getCount()方法

重写getItem()方法的代码如图10所示。

图10重写getItem()方法

重写getItemId()方法的代码如图11所示。

图11 getItemId()方法

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值