Android学习之ArrayAdapter

本文详细介绍了Android中ArrayAdapter的六种构造方法及其应用场景。包括不同类型的布局资源如何与数据集合配合使用,展示了具体代码实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在学习Listview时,经常使用ArrayAdapter,今天就将ArrayAdapter的用法总结一下。


ArrayAdapter的构造方法共有6个:
ArrayAdapter(Context context, int resource)
        ArrayAdapter(Context context, int resource, int textViewResourceId)
        ArrayAdapter(Context context, int resource, T[] objects)
        ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects)
        ArrayAdapter(Context context, int resource, List<T> objects)
        ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects)

参数分别是:
context:上下文对象,
resource:要显示的布局资源(可以用系统布局或自己的布局)
textViewResourceId:要在布局资源中的显示的textview控件
objects:要显示的数据(数组或集合对象)


代码中的集合:
   mList = new ArrayList<>();
        for(int i = 0; i < 50;i++){
            String str = "aaa"+i;
            mList.add(str);
        }
1、resource使用系统布局


android.R.layout.simple_list_item_1是系统提供的布局  一个TextView
ArrayAdapter adapter = new ArrayAdapter(MainActivity.this,
               android.R.layout.simple_list_item_1,
                android.R.id.text1,
                new String[]{"aa","bb","cc","dd"});


resource使用自己的布局,又分两种情况


(1)R.layout.item是一个LinearLayout布局,R.id.tv_item是LinearLayout布局中的一个TextView</span>
   ArrayAdapter adapter = new ArrayAdapter(MainActivity.this,
                R.layout.item,
                 R.id.tv_item,
                mList
                )
(2)R.layout.item1是一个布局,只是一个TextView,就不需要textViewResourceId这个参数了。 
   ArrayAdapter adapter = new ArrayAdapter(MainActivity.this,
                R.layout.item1,
                mList
                );

下面是两个item布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@+id/tv_item"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="50dp"
    android:textSize="20sp"
    >

</TextView>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值