`
liuy2012
  • 浏览: 107862 次
  • 性别: Icon_minigender_2
  • 来自: 西安
社区版块
存档分类
最新评论

listview的介绍,及数据的几种设置

 
阅读更多
一  ListView介绍:
在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。
显示需要三个元素:
1.ListVeiw:用来展示列表的View。
2.适配器:用来把数据映射到ListView上的中介。
3.数据:具体的将被映射的字符串、图片,或者基本组件。

二 listview标签
需要首先在布局文件main.xml中定义ListView标签:
<ListView
android:id="@+id/listview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
三 适配器和数据
适配器是用来把数据映射到listview列表的中介。
适配器分为三类:ArrayAdapter,SimpleAdapter和SimpleCursorAdapter
1 ArrayAdapter比较常用,也是显示最简单的,只能显示一列数据
代码:
ListView listView = (ListView)findViewById(R.id.listview);
String[] arr = {"aaa","bbb","ccc"};//定义一个数组
//将数据封装到ArrayAdapter
ArrayAdapter<String> arrayAdapter = newArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arr);
listView.setAdapter(arrayAdapter);//为ListView设置Adapter
2 SimpleAdapter扩充性比较好,可以定义多样的效果。下面就以显示左侧显示图片,右侧显示文字的代码为例:

ListView listView = (ListView) findViewById(R.id.listview);
SimpleAdapter adapter =
new SimpleAdapter(this, getData(),R.layout.vlist, new String[] { "title", "img" }, new int[] {R.id.title, R.id.img });
listView.setAdapter(adapter);

private List<Map<String, Object>> getData() {
        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("title", "title");
        map.put("img", R.drawable.i1);  //加载图片
        list.add(map);
        return list;
    }
vlist.xml内容如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/img"
        android:layout_width="wrap_content"
        android:layout_height="100px"
        android:layout_margin="0px" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="30px"
            android:textColor="#FFFFFFFF"
            android:textSize="22px" />
    </LinearLayout>

</LinearLayout>
3 SimpleCursorAdapter 可以认为是SimpleAdapter对数据库的简单结合,可以方便的把数据库的内容以列表的形式展示出来。
代码:
Cursor cursor = getContentResolver().query(People.CONTENT_URI, null, null, null, null);
startManagingCursor(cursor);
ListAdapter listAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_expandable_list_item_1, cursor, new String[]{People.NAME}, new int[]{android.R.id.text1});
listView.setAdapter(listAdapter);


分享到:
评论
1 楼 muyable 2014-06-14  
清晰简洁明了

相关推荐

    ListView中动态添加数据

    总结,动态添加数据到Android的ListView涉及以下几个关键步骤:创建数据模型,实现自定义Adapter,设置ListView和Adapter,向数据源添加新数据并通知Adapter,以及考虑性能优化措施。通过熟练掌握这些技巧,开发者...

    listview控件可有4种不同的视图显示方法 (1).docx

    ListView 控件是 Windows 操作系统中的一种常用控件,能够显示大量的数据,并提供了多种视图显示方法。根据不同的应用场景,可以选择适合的视图显示方法。 一、视图显示方法 ListView 控件可以有 4 种不同的视图...

    Qt Qml ListView上拉加载数据 Demo源码

    1. **定义ListView**: 在Qml中,创建一个ListView组件并设置其属性,如宽度、高度、模型(model)和 delegate。Delegate是ListView中的每个项目(item)的模板,用于决定每个条目的外观和行为。 2. **数据模型**: 数据...

    ListView的嵌套,动态设置ListView的高度

    在Android开发中,ListView是一种常见的视图组件,用于展示大量数据列表。然而,在某些复杂的界面设计中,我们可能需要在一个ListView中嵌套另一个ListView,这就涉及到"ListView嵌套"的技术。这种技术可以用来构建...

    QmlListView控件位置定位的几个方法

    笔者在开发产品过程中,ListView算是用的最多的控件之一了。ListView控件有两大要素比较重要,一是model数据,二是delegate实例。用得好这两个基本上对...本文介绍几种方法来设置ListView控件的位置,总有一种适合你。

    C#332-listview数据添加去闪烁源代码

    "C#332-listview数据添加去闪烁源代码"的主题就是解决这个问题,通过优化代码实现ListView控件在添加数据时保持平滑无闪烁的效果。 首先,理解ListView闪烁的原因。在Windows Forms中,ListView控件默认在每次添加...

    使用listview分页显示数据

    3. 更新Adapter:将新获取的数据添加到Adapter的数据列表中,并调用notifyDataSetChanged()通知ListView数据已更新。 4. 用户体验优化:在加载更多数据时,可以显示加载指示器,避免用户看到空白区域。数据加载完成...

    android中设置ListView的选中的Item的背景颜色

    在Android开发中,ListView是一种常用的控件,用于展示大量数据列表。然而,它在默认情况下并未设置选中项的背景颜色,而是仅提供了一个聚焦效果,即当用户点击ListView的某一项时,该项目会获得一个高亮显示,但...

    QML中LIstView的几种数据模型

    主要涉及在qml中ListView显示,使用了ListModel、ObjectModel、QStringList、QList*&gt;、QAbstractListModel作为数据模型,其中使用ObjectModel能省去delegate.

    Android ListView页面加载数据显示更多

    加载完成后,将新数据添加到Adapter的数据源中,然后调用`notifyDataSetChanged()`通知ListView数据已更新。这样,ListView会自动加载新的View来显示新数据。 此外,为了提供更好的用户体验,我们还需要处理以下几...

    Android ListView数据加载

    常见的有以下几种: 1. **一次性加载所有数据**:这是最简单的方式,但当数据量大时会导致应用启动慢,占用大量内存,甚至可能导致OOM(Out of Memory)异常。 2. **分页加载**:只加载屏幕可见的几页数据,当用户...

    android异步远程解析json数据绑定到listview上

    ListView是一种可滚动的视图,用于显示大量数据。要将解析后的数据绑定到ListView,我们需要实现Adapter,它是ListView与数据源之间的桥梁。Adapter需要继承自BaseAdapter,重写其中的几个关键方法,如`getItemCount...

    ListView中的几种位置关系和LayoutAnimation在listview中的应用

    在本文中,我们将深入探讨ListView中的几种位置关系以及如何在ListView中应用LayoutAnimation来增强用户体验。 首先,理解ListView的位置关系对于自定义适配器和处理点击事件至关重要。在ListView中,每个可视项都...

    C# 导入Excel文件到ListView和导出ListView到Excel文件

    在.NET框架中,C#是一种常用的编程语言,用于开发各种应用程序,包括与数据处理相关的任务。本主题将详细探讨如何使用C#实现从Excel文件导入数据到ListView控件,以及如何将ListView中的数据导出回Excel文件。这两个...

    ListVIew存储和表现sqlite数据

    - **适配器更新**:使用notifyDataSetChanged()或notifyItemChanged()通知ListView数据已改变,刷新视图。 6. **自定义Adapter**: - **BaseAdapter**:如果CursorAdapter不满足需求,可以继承BaseAdapter实现...

    ListView根据不同选择加载不同数据实战

    最后,确保在适当的地方调用`notifyDataSetChanged()`方法,通知ListView数据已更新,以便ListView刷新显示。 在代码实现过程中,你还需要注意异常处理,确保程序的健壮性。同时,通过注释和良好的代码结构,使代码...

    vb6.0listview控件打印报表

    这些文件可能详细介绍了如何设置和配置ListView控件,如何处理数据,以及如何实现打印功能,包括预览、分页、自定义样式等。 综上所述,这个知识点涵盖了以下几个关键点: 1. VB6编程环境及ListView控件的使用。 2....

    listview 删除数据

    这个方法会告诉ListView数据集已经更新,需要重新绘制界面以反映变化。 3. 删除动画: Android提供了一些内置的动画效果,如淡出、滑动等,可以在删除项时使用,提升用户体验。你可以通过`AbsListView....

    ListView把数据显示到屏幕

    ListView是Android平台上一种非常常见的控件,用于展示大量数据列表,尤其在数据量大且需要滚动查看时,它能高效地管理内存,提高用户体验。在Android应用开发中,ListView的使用是必不可少的一部分,因为它能够有效...

    android用存到缓存的方法来保存ListView里的数据

    对于ListView的数据缓存,我们可以采用以下几种方法: 1. **convertView复用机制**:ListView的adapter中,`getView()`方法负责创建并填充列表项视图。通过重写此方法,我们可以检查当前传入的convertView是否为空...

Global site tag (gtag.js) - Google Analytics