android UI控件之ListView详解之一listView+ArrayAdpater

    android UI控件之ListView详解之一listView+ArrayAdpater

在安卓开发中LisetView是比较常用的控件,它以列表的形式展示具体的数据内容,在数据多时会出现滚动条,并且数据的长度会自适应屏幕。

下面通过代码来详解ListView。

首先创建一个安卓项目,找到activity_main.xml,添加ListView。

<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"
    tools:context="${relativePackage}.${activityClass}" >

    <ListView
        android:id="@id/LV"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </ListView>

</RelativeLayout>

添加完后,布局如图。LsitView是一个列表视图,由很多的Item(条目)组成,每个Item的布局都是相同的,需要注意的是ListView指定了id属性之后,才会看到如图的界面,因为没有添加任何数据,程序运行后,无数据显示。

使用ListView控件时,需要进行数据适配,这样界面才会显示数据,在数据适配时会用到适配器。

<1>ArrayAdpater,是BaseAdpater的子类,我们只需要在构造方法中传入相应的之即可,通常用于适配TexrView控件(例如安卓系统中的设置菜单)

 public ArrayAdpater(Context context, int resource)
    public ArrayAdpater(Context context,int resource,int textViewResurceId)
    public ArrayAdpater(Context context,int resource,T[] objects)
    public ArrayAdpater(Context context,int resource,int textViewResurceId,T[] objects)
    public ArrayAdpater(Context context, int resource, List<T> objects)
    public ArrayAdpater(Context context,int resource,int textViewResurceId,List<T> objects)
// Context context:Context上下文对象
//int resource:Item布局的资源id
//int textViewResurceId:Item布局中相应的TextView的id
//T[] objects:需要适配器的数据数组,数组类型数据
//List<T> objects:需要适配的数据数组,List类型数据
代码(MainActivty.java):

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import java.util.List;
public class MainActivity extends AppCompatActivity {
    private ListView LV;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        LV=(ListView)findViewById(R.id.LV);
        //准备集合数据
        String[] data={"A","B","C","D","E","F"};
        //准备ArrayAdpater对象
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(this//上下文,R.layout.item_array//textView布局,data//数据);
        //设置Adpater显示列表
        LV.setAdapter(adapter);
    }
}  
item_array.xml:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:gravity="center_vertical"
    android:textSize="20sp"
    android:layout_marginLeft="15dp">
    </TextView>


一定要更爱TextView中属性,使其美观。



猜你喜欢

转载自blog.csdn.net/yuanmomoya/article/details/79188532
今日推荐