zoukankan      html  css  js  c++  java
  • Android入门教程(十八)之ListView (二) (转)

    本文来自http://blog.csdn.net/hellogv/

    ListView是一个经常用到的控件,ListView里面的每个子项Item可以使一个字符串,也可以是一个组合控件。先说说ListView的实现:

    1.准备ListView要显示的数据

    2.使用 一维或多维 动态数组 保存数据;

    2.构建适配器 简单地来说, 适配器就是 Item数组 动态数组 有多少元素就生成多少个Item;

    3.把 适配器 添加到ListView,并显示出来。


    接下来,看看本文代码所实现的ListView:

    1

     

    接下来,就开始UI的XML代码:

    main.xml代码如下,很简单,也不需要多做解释了:

    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <LinearLayout   
    3.         android:id="@+id/LinearLayout01"   
    4.         android:layout_width="fill_parent"   
    5.         android:layout_height="fill_parent"   
    6.         xmlns:android="http://schemas.android.com/apk/res/android">  
    7.           
    8.         <ListView android:layout_width="wrap_content"   
    9.                   android:layout_height="wrap_content"   
    10.                   android:id="@+id/MyListView">  
    11.         </ListView>  
    12. </LinearLayout>  

     

    my_listitem.xml的代码如下,my_listitem.xml用于设计ListView的Item:

    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <LinearLayout   
    3.         android:layout_width="fill_parent"   
    4.         xmlns:android="http://schemas.android.com/apk/res/android"   
    5.         android:orientation="vertical"  
    6.         android:layout_height="wrap_content"   
    7.         android:id="@+id/MyListItem"   
    8.         android:paddingBottom="3dip"   
    9.         android:paddingLeft="10dip">  
    10.         <TextView   
    11.                 android:layout_height="wrap_content"   
    12.                 android:layout_width="fill_parent"   
    13.                 android:id="@+id/ItemTitle"   
    14.                 android:textSize="30dip">  
    15.         </TextView>  
    16.         <TextView   
    17.                 android:layout_height="wrap_content"   
    18.                 android:layout_width="fill_parent"   
    19.                 android:id="@+id/ItemText">  
    20.         </TextView>  
    21. </LinearLayout>  

    解释一下,里面用到的一些属性:

    1.paddingBottom="3dip",Layout往底部留出3个像素的空白区域

    2.paddingLeft="10dip",Layout往左边留出10个像素的空白区域

    3.textSize="30dip",TextView的字体为30个像素那么大。

     

    最后就是JAVA的源代码:

    1. public void onCreate(Bundle savedInstanceState) {  
    2.     super.onCreate(savedInstanceState);  
    3.     setContentView(R.layout.main);  
    4.     //绑定XML中的ListView,作为Item的容器   
    5.     ListView list = (ListView) findViewById(R.id.MyListView);  
    6.       
    7.     //生成动态数组,并且转载数据   
    8.     ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();  
    9.     for(int i=0;i<30;i++)  
    10.     {  
    11.         HashMap<String, String> map = new HashMap<String, String>();  
    12.         map.put("ItemTitle""This is Title.....");  
    13.         map.put("ItemText""This is text.....");  
    14.         mylist.add(map);  
    15.     }  
    16.     //生成适配器,数组===》ListItem   
    17.     SimpleAdapter mSchedule = new SimpleAdapter(this//没什么解释   
    18.                                                 mylist,//数据来源    
    19.                                                 R.layout.my_listitem,//ListItem的XML实现   
    20.                                                   
    21.                                                 //动态数组与ListItem对应的子项           
    22.                                                 new String[] {"ItemTitle""ItemText"},   
    23.                                                   
    24.                                                 //ListItem的XML文件里面的两个TextView ID   
    25.                                                 new int[] {R.id.ItemTitle,R.id.ItemText});  
    26.     //添加并且显示   
    27.     list.setAdapter(mSchedule);  
    28. }  
  • 相关阅读:
    PCB CE工具取Genesis JOB与STEP内存地址 方法分享
    PCB 720全景图嵌入登入界面应用实现
    PCB 录屏工具Screen2Exe GifCam ScreenToGif
    Centos部署hexo
    npm俩种换源方式
    腾讯云Centos下安装FastDFS
    远程连接docker容器里的MySQL出现2058
    CentOS7.6安装docker
    数据结构与算法(3)---链表
    java实现自定义图
  • 原文地址:https://www.cnblogs.com/l_dragon/p/2134559.html
Copyright © 2011-2022 走看看