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

3.2.4 重写getView()方法

(1)导入ListView项对应的布局文件

在重写的getView()方法中,首先导入ListView项对应的布局文件,如图12所示。

图12  导入ListView项布局文件

图12①中,converView是getView()方法的第二个参数,表示converView刷新ListView项之前的“老视图”;flater是FootballClub类的成员变量,在构造函数中已经对其进行了初始化操作,其值是与上下文相关的LayoutInflater对象。通过该对象调用的inflate()方法的作用是导入指定的布局文件,该方法的第一个参数是指定的布局文件ID,第二个参数是该布局文件的上一级视图,null表示该布局不是根布局。

(2)关联布局文件中的控件

接下来,将变量与布局文件中的控件进行关联,如图13所示。

 

图13关联布局文件中的控件

在“2 定义布局文件”中提到,ListView项对应的布局文件footballclub_list_item.xml文件中包含一个ImageView控件和一个TextView控件,图13中将ImageView控件与变量flag关联,将TextView控件与变量name关联。

(3)设置控件内容

接下来设置布局文件中控件的内容,如图14所示。

 

图14 设置控件内容

其中,图14①调用了“3.2.3 重写getCount()、getItem()、getItemId()方法”中重写的getItem()方法获取指定位置position的数据,该数据为FootballClub类的对象,position是getView()方法的第一个参数。之后,通过变量flag和name将获取到的数据中的图片ID和名称在控件中显示出来。最后,返回converView(图14③),作为getView()方法的返回值。

4 将适配器与数据和ListView绑定

在主程序的代码中,将适配器与数据和ListView绑定。

4.1 适配器与数据绑定

适配器与数据绑定的代码如图15所示。

 

图15适配器与数据绑定

从图15中可以看出,clubList是FootballClub对象的List集合,之后通过add()方法添加6个数据,图15①中的数据是足球俱乐部队徽的资源ID,图15②中的数据是对应的足球俱乐部名字。最后,创建自定义适配器FootballClub_Adapter的对象adapter,将适配器adapter与数据clubList绑定。

4.2 适配器与ListView绑定

适配器与数据绑定的代码如图16所示。

 

图16 适配器与数据绑定

其中,lv是ListView类的对象,activity_main_lv1是主界面中ListView控件的ID。通过setAdapter()方法将适配器adapter与ListView控件lv绑定。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ListViewAndroid Studio一种常用的UI组件,用于显示一系列数据列表。以下是在Android Studio使用ListView的步骤: 1. 在XML布局文件添加ListView组件: ```xml <ListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 2. 创建Adapter类,用于向ListView添加数据Adapter类需要扩展BaseAdapter,并实现以下四个方法: ```java public class MyAdapter extends BaseAdapter { private Context mContext; private ArrayList<String> mData; public MyAdapter(Context context, ArrayList<String> data) { mContext = context; mData = data; } @Override public int getCount() { return mData.size(); } @Override public Object getItem(int position) { return mData.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { View view = convertView; if (view == null) { view = LayoutInflater.from(mContext).inflate(android.R.layout.simple_list_item_1, parent, false); } TextView textview = view.findViewById(android.R.id.text1); textview.setText(mData.get(position)); return view; } } ``` 3. 在Activity获取ListView对象,并设置Adapter: ```java ListView listView = findViewById(R.id.listview); ArrayList<String> data = new ArrayList<>(); data.add("item 1"); data.add("item 2"); data.add("item 3"); MyAdapter adapter = new MyAdapter(this, data); listView.setAdapter(adapter); ``` 以上是在Android Studio使用ListView的基本步骤,可以根据具体需求进行自定义和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值