学习android三天了,发现这个ListView在android里应用非常的多,于是就花了一些时间仔细学习了一下!
以下是我个人的理解,如果有错误或不周到的地方,还请各位看客留言!有错误才有进步,这是我的名言!!!呵呵!
简单的介绍以下,ListVeiw就像一个对象集合,可以将数据一列一列的显示出来,而且可以添加点击事件,非常方便用户操作
手机自带的系统用的比较多
比如手机的设置界面:
*布局设计
这样的界面需要两个Layout制作,一个就是MainLayout,里面包含一个ListView
代码如下:
<LinearLayout 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"
android:orientation="vertical"
>
<ListView
android:id="@+id/listview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
这个就相当于一个空集合下面是PerListViewLayout,里面是每一条数据的样式
代码如下:
<LinearLayout 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"
android:orientation="horizontal"
>
<ImageView
android:id="@+id/imageViewId"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src=http://www.mamicode.com/"@drawable/ic_launcher">对应的界面如下:
大概可以分成这几个部分:
这个可以成为每一列数据的样式与布局
以后MainLayout里面的每条数据都会以这样的方式显示出来
* 数据源的创建
首先要取出数据,及要显示几条数据
穿件三个数组,分别存入imageView、textView1、textView2
代码如下:
private int[] picts = {R.drawable.ic_launcher, R.drawable.pict1, R.drawable.pict2, R.drawable.dog_bew};
private String[] contents1 = {"zhangsan", "lisi", "wangwu", "wangliu"};
private String[] contents2 = {"zhangsan_1", "lisi_1", "wangwu_1", "wangliu_1"};
图片资源的id,textView1的内容,textView2的内容。一一对应将数据存入List里
代码如下:
// 创建数据源
List<Map<String, Object>> data;
data = http://www.mamicode.com/new ArrayList