Android中的一个简单的List应用

发布于 2022-09-30 19:37:52 字数 6197 浏览 13 评论 0

转:疯狂の小石子  

Android中的一个简单的List应用

  原来我以为在Android下使用List,应该是一件很简单的事情,但是——我错了!之前一直看书,跟着书本的例子程序去学习写List,但是仍然没有掌握到技巧。今天突然看到了一个视频教程,感觉自己有点头绪了。这个视频教程的下载地址是www.mars-droid.com,初学者可以去下载学习一下,还是很不错的,绘声绘色!哈哈~

  好了,步入正题吧。

  在Android程序,使用ListView,相对来说比较复杂,不仅仅需要在活动中添加一个ListView,用于现在整个List列表,你还需要一个布局文件,该布局文件控制这个ListView中的每一项记录(每一行)的显示方式。例如:有一个ListView,它有若干行的记录信息,但是每一行有多个字段;如何对这些字段进行控制,就是这个布局文件需要处理的事情。

1、主活动的布局:

  在主活动窗口中,我们只需要简单的添加一个ListView在活动中就可以了,设置好ListView的属性。

2、ListView中每一项的布局:

  我们通过一个xml布局文件控制每一项的布局。比如,下面的xml文件会在每一项上并列放置两个TextView。

Item.xml

  1. <LinearLayout     
  2. android:layout_height="fill_parent"     
  3. android:layout_width="fill_parent"     
  4. android:paddingBottom="1dip"     
  5. android:paddingLeft="10dip"     
  6. android:paddingRight="10dip"     
  7. android:paddingTop="1dip">   
  8. <TextView         
  9. android:id="@+id/user_name"         
  10. android:layout_width="180dip"         
  11. android:layout_height="30dip"        
  12. android:textSize="10pt"        
  13. android:singleLine="true" />   
  14. <TextView         
  15. android:id="@+id/user_num"         
  16. android:layout_width="fill_parent"         
  17. android:layout_height="fill_parent"        
  18. android:gravity="right"        
  19. android:textSize="10pt" />
  20. </LinearLayout>

复制代码3、ListView的java类

  设置主活动继承自ListActivity类

  通过一个ArrayList存储ListView的显示数据

  创建一个SimpleAdapter的实例,将该实例setListAdapter绑定到当前的ListActivity上。

  设置每一项被单击时,所要执行的操作。

MyActivity.java

  1. public class MyActivity extends ListActivity {   
  2. @Override    public void onCreate(Bundle savedInstanceState) {        
  3. super.onCreate(savedInstanceState);        
  4. setContentView(R.id.main);               
  5. ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();        
  6. HashMap<String,String> map1 = new HashMap<String,String>();      
  7. HashMap<String,String> map2 = new HashMap<String,String>();        
  8. HashMap<String,String> map3 = new HashMap<String,String>();        
  9. map1.put("user_name", "Allen");        
  10. map1.put("user_num", "123");        
  11. map2.put("user_name", "Bobo");        
  12. map2.put("user_num", "456");        
  13. map3.put("user_name", "David");        
  14. map3.put("user_num", "789");        
  15. list.add(map1);        list.add(map2);        
  16. list.add(map3);               
  17. SimpleAdapter listAdapter = new SimpleAdapter(               
  18. this,                                         // Context               
  19. list,                                         // 绑定的数据源               
  20. R.layout.Item,                                 // Item的布局文件               
  21. new String[] {"user_name", "user_num"},     // ListView的列名称               
  22. new int[] {R.id.user_name, R.id.user_num});    // Item中每个控件的摆放位置               
  23. setListAdapter(listAdapter);    }        
  24. @Override   
  25. protected void onListItemClick(ListView l, View v, int position, long id) {        // TODO Auto-generated method stub        
  26. super.onListItemClick(l, v, position, id);   
  27. }}

复制代码这个例子是最基本的ListView的例子程序,要好好理解原理,才能更好的应用。至于对程序代码的解释,就不班门弄斧了,大家有空去www.mars-droid.com里面下载视频来看,里面讲解的更加详细。文件名是《01_13_常用控件(三).mp4》

CrazyPebble

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文