【随笔——Android】ListView的初步使用

要做一个稍复杂的列表,类似于微博客户端的那种显示微博的列表,经过查阅,发现可以使用ListView来做。
首先,使用xml来进行布局,先新建一个xml布局文件

 
<?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"
    android:orientation="horizontal" >
    <!--  -->
    <ImageView
        android:id="@+id/img"
        android:layout_width="135dp"
        android:layout_height="100dp"
        android:layout_weight="1"
        android:contentDescription="@string/notImg" />
 
    <LinearLayout
        android:layout_width="135dp"
        android:layout_height="100dp"
        android:layout_weight="2"
        android:orientation="vertical" >
 
        <TextView
            android:id="@+id/txtTitle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="20sp" />
 
        <RatingBar
            android:id="@+id/star"
            style="@android:style/Widget.DeviceDefault.RatingBar.Small"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:max="5"
            android:numStars="5"
            android:progress="50" />
 
        <TextView
            android:id="@+id/text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>
</LinearLayout>
 
然后创建SimpleAdapter 对象
 
 
SimpleAdapter simp = new SimpleAdapter(
                    getActivity(), 
                    listItems
                    R.layout.card
                    new String[]{"header","personName","price"}, 
                    new int[]{R.id.img,R.id.txtTitle,R.id.text});
 这里有好多行参数
实际上
第一行是最常用的Context context这个参数,用过空间的几乎都见过这个参数。
第二行是填写数据源,也就是这个列表的数据来自于哪里,这是个List<Map<String,Object>> 对象。
   
 
            for(int i = 0;i<names.length;i++){
                Map<String ,Object> listItem = new HashMap<>();
                listItem.put("header"imageIds[i]);
                listItem.put("personname"names[i]);
                listItem.put("price"price[i]);
                
                
                listItems.add(listItem);
            }
 
 大概这种感觉。
第三行是选择布局文件,也就是根据那个布局文件来进行布局。
第四行是取数据源里的哪些值来显示。
第五行是取出来的数据放到那个控件里面,第四行和第五行是相互对应的。 

【随笔——Android】ListView的初步使用,布布扣,bubuko.com

【随笔——Android】ListView的初步使用

上一篇:微信公众平台开发(28) 发送客服消息


下一篇:手机为什么不该放卧室?