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-react-native-timeline-listview.zip,React本机应用程序的时间线组件,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全性优势。
android listview列表伸缩 自定义组件 ,也就是listview显示数据,点击某一行就伸缩展示自定组件面板,面板可自己摆控件。相当于显示详细数据。
Android应用开发中ListView组件性能优化的研究.pdf
Android的widget使用listview布局,快速上手,可以直接用在项目里面
Android源码:ListView组件应用演示代码,layout的xml文件名需要全部小写。 ActivityList1: 1.初步介绍ListView这个组件。 2.初步介绍ArrayAdapter。 # simple_list_item_single_choice # ...
Android ListView组件的使用源代码 对应博客地址http://blog.csdn.net/michael__li/article/details/6941635
在android应用开发中,ListView是使用频率非常高的一个组件,基本上稍微复杂点的布局都会用到它,利用它可以让你的界面美观,有层次。 一、普通的ListView 普通的ListView是指每一个item只显示一条文本数据 二、...
为了提高ListView的效率和应用程序的性能,在Android应用程序中不应该一次性加载ListView所要显示的全部信息,而是采取分批加载策略,随着用户的滑动,动态的从后台加载所需的数据,并渲染到ListView组件中,这样...
Android中的ListView组件原理分析与优化.pdf
A very common flow of an android view is : show a progress bar while fetching data from a remote service. if the resut is empty : show an empty view with a custom message and hide the progres
android 列表视图组件 listview详解
浅谈使用Android中ListView组件.pdf
本文实例讲述了android开发之listView组件用法。分享给大家供大家参考,具体如下: 关于Android ListView组件中android:drawSelectorOnTop含义 android:drawSelectorOnTop=”true” 点击某一条记录,颜色会显示在最...
028_android UI组件之 ListView和ArrayAdapter,很细致的视频教程,这个可以学哦。
android 中listview 常用组件使用,各种风格listview 使用发放基金
Android应用源码之ListView滚动气泡提示_Android
android利用html5实现listview并添加下拉刷新
解决复杂布局,scrollview嵌套ListView滑动性能的问题,提供下拉刷新和暴露对外操作listview控件UI的方法,同步博文:http://blog.csdn.net/qq_28690547/article/details/50792439
用ListView组件实现树形结构 主界面是继承Activity类 而不像网络上大多数都是继承ListActivity类
支持更多类型的scaleType,详见 Android-ScalableVideoView 加入 getCurrentPosition() 和 getDuration() 接口 v1.3 fix在多类型列表元素中出现视频无法正常播放的bug Demo 更新 增加在ListView中播放视频的示例...