您的位置:首页 > 移动开发 > Android开发

Android学习之ArrayAdapter

2016-03-22 10:46 519 查看
在学习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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android adapter