ArrayAdapter创建ListView

ArrayAdapter创建ListView

1:功能

ArrayAdapter作用:是为ListView提供列表项
同样功能的还有BaseAdapter,SimpleAdapter。这三种是比较常用的。这里只是简单的介绍一下ArrayAdapter的用法。

2:ArrayAdapter的说明

ArrayAdapter<String>(Context context, int resource, String[] objects)

这是ArrayAdapter的构造方法之一,其参数含义:
* context:表示所在的Activity,一般用this表示;
* resource:资源ID,单项布局文件的文件名称;本文示例中的R.layout.mytext.xml
* objects:内容数组。

3:创建列表视图步骤如下

1:定义一个含有ListView的布局文件;
2:定义一个列表单项的布局文件;
3:在Activity中实例化ListView ;
4:添加要显示的内容数组;
5:实例化ArrayAdapter;
6:给ListView设置ArrayAdapter。

注意:
1)第1项的示例布局文件名称 activity_list_main.xml:
2)第2项的示例布局文件名称mytext.xml;使用ArrayAdapter时,特别要求该项布局文件中的TextView的ID必须是android:id=”@+id/TextView”

4:示例代码如下

1:ListView的布局文件,该布局中只有一个ListView控件,文件的名称activity_list_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ListView 
        android:id="@+id/id_list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:divider="#0ff"
        android:footerDividersEnabled="true"
        android:headerDividersEnabled="true">
    ListView>


RelativeLayout>

2:定义列表中每一个单项的布局文件,名称mytext.xml,这里的TextView控件的ID必须是“@+id/TextView”



    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/TextView"
        android:gravity="center"
        android:layout_width="match_parent"
        android:layout_height="20dp"
        android:shadowDx="5"/>

3:这里是在Activity中实现ListView,也就是MainActivity.java

public class ListMainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //加载主布局文件
        setContentView(R.layout.activity_list_main);

        //要显示的内容字符串数组
        String[] strName = {"1","2","3","你好","大家好"};

        //实例化ListView控件
        ListView list = (ListView) findViewById(R.id.id_list);

        //实例化ArrayAdapter
        //R.layout.mytext : 列表单项的文件名称,它只有一个TextView控件
        ArrayAdapter adapter = new ArrayAdapter(this, R.layout.mytext, strName);

        //给ListView设置ArrayAdapter
        list.setAdapter(adapter);
    }

}

4:程序运行结果如下

ArrayAdapter创建ListView_第1张图片

5:总结

在实现列表的过程中,要有两个布局文件;然后使用ArrayAdapter联系要显示的内容、每一个单项样式布局和ListView布局文件(主布局文件)。

你可能感兴趣的:(android)