Android ListView 列表控件的简单使用

本文介绍如何简化Android中ListView的自定义过程,仅通过创建一个XML布局文件即可轻松实现多行文字的显示,并提供了详细的步骤说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ListView 列表是我们经常会使用的控件, 如果想要自定义里面的显示的话是挺麻烦的, 需要新建XML、Class SimpleAdapter这两个文件, 较为麻烦。 如果我们只是想显示两、三行文字在上面, 却又不想那么麻烦呢? 那我们只要新建一个XML就够了。 
  这里以显示一个ListView项里三个TextView为例。 
  首先我们要创建一个XML文件, 这个XML文件是用来作为单个ListView项布局用的。 
  list_row.xml 

Java代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3. android:layout_width="fill_parent"  
  4. android:layout_height="fill_parent"  
  5. android:background="#ffffff"  
  6. >  
  7. <TextView  
  8. android:id="@+id/textTo"  
  9. android:layout_width="wrap_content"  
  10. android:layout_height="wrap_content"  
  11. android:textSize="16dip"  
  12. android:textColor="#333333"  
  13. />  
  14. <TextView  
  15. android:id="@+id/textOwn"  
  16. android:layout_width="wrap_content"  
  17. android:layout_height="wrap_content"  
  18. android:layout_below="@id/textTo"  
  19. android:textSize="12dip"  
  20. android:textColor="#999999"  
  21. />  
  22. <TextView  
  23. android:id="@+id/textState"  
  24. android:layout_width="wrap_content"  
  25. android:layout_height="wrap_content"  
  26. android:layout_alignParentRight="true"  
  27. android:textSize="14dip"  
  28. android:textColor="#999999"  
  29. />  
  30. </RelativeLayout>  


第一个TextView是标题、第二个是内容、第三个是状态 
接下来我们需要在主XML布局文件里面放置一个ListView控件 

Java代码   收藏代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3. android:layout_width="fill_parent"  
  4. android:layout_height="fill_parent"  
  5. android:orientation="vertical"  
  6. android:background="#ffffff"  
  7. >  
  8. <ListView  
  9. android:id="@+id/list"  
  10. android:layout_width="fill_parent"  
  11. android:layout_height="fill_parent"  
  12. android:background="#ffffff"  
  13. ></ListView>  
  14. </LinearLayout>  


然后,我们要在主Activity里面声明三个成员变量 
undefined代码 
private List<Map<String, Object>> mList; 
private ListView mListView; 
private SimpleAdapter mListAdapter; 

mList是用来存放要显示的数据 
SimpleAdapter是ListView 数据的一个容器, 用来存放显示在ListView上的数据。 对 SimpleAdapter 的数据操作会直接影响到ListView的显示。 

然后, 我们来给mList添加一些要显示的数据 


Java代码   收藏代码
  1. mList  = new ArrayList<Map<String,Object>>();  
  2. undefined代码   
  3. Map<String, Object> map = new HashMap<String, Object>();  
  4. map.put("First""这是标题");  
  5. map.put("Next""这是内容");  
  6. map.put("State""状态");  
  7. mList.add(map);  


这样就添加了一条数据, 如果要添加多条就重复再添加。 

接下来我们把数据放入到SimpleAdapter/ListView中 

Java代码   收藏代码
  1. mListAdapter = null;  
  2. mListAdapter = new SimpleAdapter(this, mList, R.layout.list_row,  
  3. new String[]{"First""Next""State"},  
  4. new int[]{R.id.textOwn, R.id.textTo, R.id.textState});  
  5. mListView.setAdapter(mListAdapter);  


new SimpleAdapter的参数: 父指针、ArrayList的数据、 布局文件、 要显示的数据的标签、显示在哪些控件上。  后面两个参数顺序一定要对应。 

最后, ListView载入了SimpleAdapter就可以了。 

当然,我们直接操作mList也会影响到ListView的数据。 在修改了mList的数据后,调用SimpleAdapter的notifyDataSetChanged()方法后就可以了。


java大数据处理(3)-千万级生成excel


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值