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
分享到:
相关推荐
通过研究`drag-sort-listview-master`的源码,开发者不仅可以学习到拖放排序的实现,还可以深入了解Android ListView的工作原理,以及如何优雅地处理触摸事件和视图更新。这对于提升个人的Android开发技能,特别是...
Android-react-native-timeline-listview.zip,React本机应用程序的时间线组件,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全性优势。
ListView是Android SDK中的一个视图组件,用于展示大量的列表数据。通过适配器(Adapter)将数据源与ListView绑定,可以实现数据的动态加载和滚动显示。然而,ListView默认并不支持下拉刷新功能,这就需要额外的库来...
在Android应用开发中,ListView是经常被使用的一个组件,它用于展示大量的数据,通常以列表的形式呈现。本资料"android-pro-listview.7z"将带你深入理解ListView的工作原理,优化技巧以及相关扩展。 一、ListView...
在Android开发中,ListView是一个非常重要的组件,它用于展示大量数据的列表,用户可以通过滚动查看更多的条目。这个"Android-ListView-Example"项目显然旨在教你如何在Android应用中有效地使用ListView。以下是对这...
关于`ListView`,它是Android平台上广泛使用的视图组件,用于展示大量数据集。`ListView`通过复用视图(ViewHolder模式)来提高性能,允许用户滚动长长的列表而不会消耗过多资源。在`pinned-section-listview-master...
在Android开发中,ListView是展示大量数据的常用组件,但默认情况下,ListView并不支持直接的拖放排序功能。"drag-sort-listview"库弥补了这个空白,提供了易于集成和自定义的解决方案。 此库的核心功能在于实现了...
首先,ListView是Android SDK中的一个视图组件,用于展示大量的数据列表。它的基本用法是通过Adapter将数据绑定到ListView的各个列表项上。默认情况下,ListView提供了一些简单的视图类型,但往往不能满足复杂的界面...
在Android开发中,ListView是一种常见的组件,用于展示大量的列表数据。`ListView`的下拉刷新功能是提升用户体验的重要特性,特别是在处理动态加载数据的应用场景中。这个“android--ListView下拉刷新demo”就是一个...
标题与描述均提到了“Android世界中的ListView”,这意味着文章聚焦于Android开发中ListView组件的深入探讨,由Romain Guy和Adam Powell在2010年的一次演讲中提出。ListView是Android应用程序中常用的一种UI控件,...
在Android开发中,ListView是一种常用的UI组件,用于展示大量数据列表。然而,有时我们需要实现更复杂的交互效果,比如点击列表项后展开一个自定义的详细信息面板。这就是所谓的"android-listview列表伸缩自定义组件...
在Android程序设计中,ListView是一个极其重要的组件,它用于展示大量的数据列表,用户可以通过滚动查看更多的条目。在"Android程序设计-ListView介绍.pptx"中,我们深入探讨了ListView的基本概念、工作原理以及如何...
在Android开发中,ListView是一个非常重要的组件,常用于展示大量数据列表,如新闻、联系人、邮件等。在这个“Android实现的ListView-ListViewAdapter(新闻列表事例)”中,我们将探讨如何利用ListView和ListView...
在Android开发中,ListView是常用的数据展示组件,用于显示大量数据列表。然而,原生的ListView功能相对简单,不支持一些高级交互,如拖拽排序和滑动删除。本资源"drag-sort-listview"提供了一个自定义的ListView...
这份"drag-sort-listview-master.zip"源码包提供了完整的实现,对于想要深入理解Android自定义视图以及ListView操作的开发者来说,是一份不可多得的学习资源。 首先,我们需要了解ListView的基础。ListView是...
此外,"点这里查看更多优质源码~.url"可能指向一个资源网站或者社区,提供了更多Android开发相关的示例代码和教程,对于深入学习和提升Android开发技能非常有帮助。 总的来说,这个压缩包中的示例代码涵盖了Android...
在Android开发中,ListView是一个非常重要的组件,常用于展示大量数据列表。本资源"安卓listview相关相关-Android--ListView返回第一条数据的实现.rar"主要关注如何实现在ListView中快速定位到第一条数据。以下是对...
在Android应用开发中,ListView是显示大量数据时非常重要的组件,尤其在手机界面设计中,由于屏幕尺寸有限,ListView能够有效地展示信息并提供良好的用户体验。本篇内容将深入讲解ListView及其核心概念Adapter。 ...
在Android开发中,ListView是一种常用的UI组件,常用于展示大量数据列表。本教程将详细介绍如何在ListView中实现带标题栏的效果。标题栏通常用于显示分类信息或者操作按钮,为用户提供更好的交互体验。以下是对实现...
在Android应用开发中,ListView是常用的视图组件,它用于展示大量的列表数据。这个压缩包文件"Android--开发--ListView 实现点击侧边A-Z快速查找.rar"显然包含了一个示例,展示了如何在ListView中实现点击侧边字母...