在android中ListView是一个经常使用到的控件,该控件是android众多列表控件中的一种,以垂直的方式显示一组项,对于ListView的使用包含以下三部分:
1)建立一个包含ListView的布局文件和一个针对ListView中每一个项的布局文件;
2)创建一个Activity(最简单的方式是继承ListActivity);
3)创建一个ListAdapter,填充所需的数据后通过addListAdapter添加ListAdapter至该Activity;
在下面的代码中给出的只是最简单的方式用以演示最基本的使用方式:
1)建立所需的布局文件:
/res/layout/listview.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" >
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
注意:
ListView的id要使用android内置的id:@android:id/list
/res/layout/listview_item.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="horizontal" >
<CheckBox
android:id="@+id/checked"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false" />
<TextView
android:id="@+id/author"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#00FFFF"
android:textStyle="bold"
android:textSize="20dp" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFFF00"
android:textSize="15dp" />
</LinearLayout>
注意:
对于Button,CheckBox等按钮控件如果用在ListView中需要设置android:clickable="false" android:focusable="false" android:focusableInTouchMode="false",否则的话click事件将被这些控件捕获,无法被ListView的OnListItemClick捕获;
2)创建一个继承自ListActivity的活动:
package ui.app;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class ListViewActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview);
SimpleAdapter adapter = new SimpleAdapter(this, getData(),
R.layout.listview_item, new String[] { "author", "title" },
new int[] { R.id.author, R.id.title });
setListAdapter(adapter);
}
private List<Map<String, String>> getData() {
List<Map<String, String>> data = new ArrayList<Map<String, String>>();
Map<String, String> entry = new HashMap<String, String>();
entry.put("author", "哈迪斯");
entry.put("title", "死神");
data.add(entry);
entry = new HashMap<String, String>();
entry.put("author", "宙斯");
entry.put("title", "神王.雷神");
data.add(entry);
entry = new HashMap<String, String>();
entry.put("author", "波塞冬");
entry.put("title", "海神");
data.add(entry);
return data;
}
@Override
public void onListItemClick(ListView list, View view, int position, long id) {
LinearLayout layout = (LinearLayout) list.getChildAt(position);
CheckBox cb = (CheckBox) layout.findViewById(R.id.checked);
if (cb.isChecked()) {
cb.setChecked(false);
} else {
cb.setChecked(true);
}
}
}
3)关联Adapter:
关联ListAdapter和设置onListItemClick的处理方式在上面的代码中给出;
运行结果如下:
- 大小: 21 KB
分享到:
相关推荐
环境:Windows XP SP3、JDK 1.6、Android SDK...目的:熟悉ListView控件的用法--使用ListView必须让Activity继承ListActivity类,并且在main.xml布局描述文档中,ListView类的android.id必须是"@+id/android:list”值。
本文将详细介绍如何在Android应用程序中使用`ListView`控件,包括其基本概念、工作原理以及如何实现简单的数据绑定。 #### 二、ListView 控件概述 `ListView` 是一种可以滚动显示多个数据项的控件,非常适合用于...
本教程将详细讲解如何在安卓手机上使用ListView控件,从基础到进阶,通过四个案例来帮助开发者掌握其精髓。 **一、ListView基本使用** 1. **布局文件**:首先,在XML布局文件中添加ListView,例如`activity_main....
在 ListView 控件中显示图片时,我们需要使用 ImageView 控件来显示图片,并使用 Bitmap 来存储图片数据。在 SimpleAdapter 中,我们需要对 ImageView 进行处理,使得图片可以正确地显示出来。 知识点7:布局文件的...
* 使用ListView控件的 recycling机制来减少视图的创建和销毁。 Android ListView 控件是 Android 开发中最常用的控件之一。它提供了一个列表视图,以便用户可以浏览和选择列表项。通过了解 ListView 控件的基本属性...
在Android开发中,ListView是一个非常重要的控件,它允许开发者在一个垂直滚动的列表中展示大量数据。本篇文章将深入探讨ListView的基本用法、工作原理以及优化策略,旨在帮助你掌握这个核心组件。 **1. ListView的...
本篇文章将深入探讨如何在Android中实现ListView子控件的监听。 1. **单击事件监听** 在ListView中,最基础的交互是单击事件。通常,我们可以为ListView设置一个适配器(Adapter),在适配器的getView()方法中为每...
在Android开发中,ListView是一个非常重要的控件,用于展示大量数据列表。本教程将深入讲解如何使用ListView,结合自定义适配器以及解决Out-Of-Memory(OOM)问题。 首先,`ListView`是一个可滚动的视图,它能够...
在Android开发中,ListView是一个非常重要的视图组件,它允许我们显示大量的数据并进行滚动操作。本示例将深入探讨如何在Android中自定义ListView,包括它的创建、数据绑定以及实现一些视觉效果。 首先,创建一个...
最后,我们可以在Activity中使用该控件,替代系统提供的ListView控件。使用该控件可以提供稳定的下拉刷新功能,提高用户体验。 本文提供了一个自定义的ListView控件,实现了下拉刷新功能。该控件可以在多个项目中...
本资料"Android使用ListView实现一个高性能无限层级显示的树形控件"旨在教你如何利用ListView创建一个可以处理无限层级的树形控件。 首先,我们需要理解ListView的工作原理。ListView是一个视图容器,它通过复用...
ListView滑轮选择控件是一种常见的UI元素,在Android应用开发中被广泛使用,特别是在需要用户进行滚动选择的场景下,如日期选择、时间选择等。它借鉴了WheelView的基本概念,并结合ListView的特点,提供了更加丰富的...
本文研究了如何通过Android系统中的ListView控件来实现网络数据的动态递增显示,这种方法尤其适用于需要处理批量数据并以分页形式展示给用户的应用场景。 首先,Android操作系统简介部分提到了Android是一个基于...
在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。为了提升用户体验和界面设计的美观性,我们常常需要对ListView进行定制化,包括设置边框和实现圆角效果。本文将深入探讨如何在Android中实现...
### Android-ListView中嵌套(ListView)控件兼容问题 #### 背景与问题描述 在Android开发中,有时我们需要在`ListView`中嵌套另一个`ListView`以实现更复杂的用户界面设计。然而,在实际操作过程中可能会遇到一些...
android关于listview之列表分组,像Q上一样显示列表项
在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。然而,有时我们不仅需要展示单一列表,还可能需要实现类似表格的效果,比如显示多列数据。本篇文章将详细讲解如何在Android中利用ListView...
在Android开发中,ListView是常用的一种视图组件,用于展示多行数据列表。然而,为了提供更好的用户体验,我们经常需要对ListView进行自定义,添加一些高级功能,如下拉刷新、分页加载以及Item点击事件处理。这篇...
Android中ListView实现子控件点击事件后ListView点击事件失效解决办法,详细说明见相关博客: 博文地址:http://blog.csdn.net/leijf1239848066/article/details/9526483
以下是一个关于如何在Android中使用ListView的简单事例: 第一步:新建`MyListActivity`继承自`ListActivity` 在创建一个基于ListView的活动时,通常会继承`ListActivity`类,因为它为ListView提供了一些便利的方法...