`

Android学习之-ListView组件

阅读更多

ListView : 它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示

listView三要素:

a). 展示数据的item

b). 数据源

c). 适配器(adapter):将数据展示到item的中介

 

listView的类型 有三种:

a). ArrayListAdapter: 展示简单的字符串, 一个子项只能展示一行.

b). SimpleAdapter: 自定义适配器 , 能够随意展示自己想要的布局结构.

c). SimpleCursorAdapter :展示从SQLite读取的数据.把从游标得到的数据进行列表显示, 并能报指定的列映射到对应的TextView中.

例子:

运行结果:

代码:

public class ListViewTest extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    	
        super.onCreate(savedInstanceState);
        
        
        setContentView(R.layout.main);  
        //绑定XML中的ListView,作为Item的容器  
        ListView list = (ListView) findViewById(R.id.myListView);  
          
        //生成动态数组,并且转载数据  
        ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();  
        for(int i=0;i<30;i++)  
        {  
            HashMap<String, String> map = new HashMap<String, String>();  
            map.put("ItemTitle", "This is Title.....");  
            map.put("ItemText", "This is text.....");  
            mylist.add(map);  
        }  
        //生成适配器,数组===》ListItem  
        SimpleAdapter mSchedule = new SimpleAdapter(this, //没什么解释  
                                                    mylist,//数据来源   
                                                    R.layout.list_view_test,//ListItem的XML实现  
                                                      
                                                    //动态数组与ListItem对应的子项          
                                                    new String[] {"ItemTitle", "ItemText"},   
                                                      
                                                    //ListItem的XML文件里面的两个TextView ID  
                                                    new int[] {R.id.itemTitle,R.id.itemText});  
        //添加并且显示  
        list.setAdapter(mSchedule);  
    }
}

 

 

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

	<ListView android:layout_width="wrap_content"
  				android:layout_height="wrap_content"
  				android:id="@+id/myListView"></ListView>
</LinearLayout>

 

list_view_test.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="vertical"
  android:paddingLeft="10dip"
  android:paddingBottom="3dip"
  android:id="@+id/myListItem">
  				
  				<TextView android:layout_width="wrap_content"
  							android:layout_height="wrap_content"
  							android:id="@+id/itemTitle"
  							android:textSize="30dip">
  				</TextView>
  				
  				<TextView android:layout_width="fill_parent"
  							android:layout_height="wrap_content"
  							android:id="@+id/itemText"
  							android:textSize="10dip">
  				</TextView>
</LinearLayout>

 

 

listview的实现原理:

1. 在listview开始绘制的时候调用getCount()方法获取listview子项的个数

2. 根据返回的长度, 调用getView()逐一绘制每一行.

 

 

原文转载:

 http://blog.csdn.net/sam_zhang1984/archive/2011/03/19/6261818.aspx

http://blog.csdn.net/hellogv/archive/2009/09/11/4542668.aspx

 

 

分享到:
评论

相关推荐

    Android应用源码之drag-sort-listview-master.rar

    通过研究`drag-sort-listview-master`的源码,开发者不仅可以学习到拖放排序的实现,还可以深入了解Android ListView的工作原理,以及如何优雅地处理触摸事件和视图更新。这对于提升个人的Android开发技能,特别是...

    Android-react-native-timeline-listview.zip

    Android-react-native-timeline-listview.zip,React本机应用程序的时间线组件,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全性优势。

    android-pulltorefresh-listview 下拉刷新ListView

    ListView是Android SDK中的一个视图组件,用于展示大量的列表数据。通过适配器(Adapter)将数据源与ListView绑定,可以实现数据的动态加载和滚动显示。然而,ListView默认并不支持下拉刷新功能,这就需要额外的库来...

    android-pro-listview.7z

    在Android应用开发中,ListView是经常被使用的一个组件,它用于展示大量的数据,通常以列表的形式呈现。本资料"android-pro-listview.7z"将带你深入理解ListView的工作原理,优化技巧以及相关扩展。 一、ListView...

    Android-ListView-Example

    在Android开发中,ListView是一个非常重要的组件,它用于展示大量数据的列表,用户可以通过滚动查看更多的条目。这个"Android-ListView-Example"项目显然旨在教你如何在Android应用中有效地使用ListView。以下是对这...

    pinned-section-listview-master

    关于`ListView`,它是Android平台上广泛使用的视图组件,用于展示大量数据集。`ListView`通过复用视图(ViewHolder模式)来提高性能,允许用户滚动长长的列表而不会消耗过多资源。在`pinned-section-listview-master...

    drag-sort-listview

    在Android开发中,ListView是展示大量数据的常用组件,但默认情况下,ListView并不支持直接的拖放排序功能。"drag-sort-listview"库弥补了这个空白,提供了易于集成和自定义的解决方案。 此库的核心功能在于实现了...

    android-custom-listview.7z

    首先,ListView是Android SDK中的一个视图组件,用于展示大量的数据列表。它的基本用法是通过Adapter将数据绑定到ListView的各个列表项上。默认情况下,ListView提供了一些简单的视图类型,但往往不能满足复杂的界面...

    android--ListView下拉刷新demo

    在Android开发中,ListView是一种常见的组件,用于展示大量的列表数据。`ListView`的下拉刷新功能是提升用户体验的重要特性,特别是在处理动态加载数据的应用场景中。这个“android--ListView下拉刷新demo”就是一个...

    android-world-of-listview-android

    标题与描述均提到了“Android世界中的ListView”,这意味着文章聚焦于Android开发中ListView组件的深入探讨,由Romain Guy和Adam Powell在2010年的一次演讲中提出。ListView是Android应用程序中常用的一种UI控件,...

    android-listview列表伸缩自定义组件

    在Android开发中,ListView是一种常用的UI组件,用于展示大量数据列表。然而,有时我们需要实现更复杂的交互效果,比如点击列表项后展开一个自定义的详细信息面板。这就是所谓的"android-listview列表伸缩自定义组件...

    Android程序设计-ListView介绍.pptx

    在Android程序设计中,ListView是一个极其重要的组件,它用于展示大量的数据列表,用户可以通过滚动查看更多的条目。在"Android程序设计-ListView介绍.pptx"中,我们深入探讨了ListView的基本概念、工作原理以及如何...

    Android实现的ListView-ListViewAdapter(新闻列表事例)

    在Android开发中,ListView是一个非常重要的组件,常用于展示大量数据列表,如新闻、联系人、邮件等。在这个“Android实现的ListView-ListViewAdapter(新闻列表事例)”中,我们将探讨如何利用ListView和ListView...

    安卓listview相关相关-drag-sort-listview是一个支持拖拽排序和左右滑动删除功能的自定义ListView.rar

    在Android开发中,ListView是常用的数据展示组件,用于显示大量数据列表。然而,原生的ListView功能相对简单,不支持一些高级交互,如拖拽排序和滑动删除。本资源"drag-sort-listview"提供了一个自定义的ListView...

    应用源码之drag-sort-listview-master.zip

    这份"drag-sort-listview-master.zip"源码包提供了完整的实现,对于想要深入理解Android自定义视图以及ListView操作的开发者来说,是一份不可多得的学习资源。 首先,我们需要了解ListView的基础。ListView是...

    Android代码-listview上拉刷新.zip

    此外,"点这里查看更多优质源码~.url"可能指向一个资源网站或者社区,提供了更多Android开发相关的示例代码和教程,对于深入学习和提升Android开发技能非常有帮助。 总的来说,这个压缩包中的示例代码涵盖了Android...

    安卓listview相关相关-Android--ListView返回第一条数据的实现.rar

    在Android开发中,ListView是一个非常重要的组件,常用于展示大量数据列表。本资源"安卓listview相关相关-Android--ListView返回第一条数据的实现.rar"主要关注如何实现在ListView中快速定位到第一条数据。以下是对...

    Android应用开发-ListView.pptx

    在Android应用开发中,ListView是显示大量数据时非常重要的组件,尤其在手机界面设计中,由于屏幕尺寸有限,ListView能够有效地展示信息并提供良好的用户体验。本篇内容将深入讲解ListView及其核心概念Adapter。 ...

    android--ListView实现带标题栏效果(附源码)

    在Android开发中,ListView是一种常用的UI组件,常用于展示大量数据列表。本教程将详细介绍如何在ListView中实现带标题栏的效果。标题栏通常用于显示分类信息或者操作按钮,为用户提供更好的交互体验。以下是对实现...

    Android--开发--ListView 实现点击侧边A-Z快速查找.rar

    在Android应用开发中,ListView是常用的视图组件,它用于展示大量的列表数据。这个压缩包文件"Android--开发--ListView 实现点击侧边A-Z快速查找.rar"显然包含了一个示例,展示了如何在ListView中实现点击侧边字母...

Global site tag (gtag.js) - Google Analytics