`
huahua09
  • 浏览: 46936 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Android ListView控件的基本用法

 
阅读更多
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">

<LinearLayout android:id="@+id/listLinearLayout" <!-- 设置LinearLayout的ID -->
android:layout_width="fill_parent" <!-- 设置LinearLayout宽度为填满整个屏幕 -->
android:layout_height="wrap_content" <!-- 设置LinearLayout高度适应内部控件的高度 -->
android:orientation="vertical"> <!-- 设置LinearLayout的排列方式为纵向排列 -->

<!-- 在LinearLayout里嵌套一个ListView控件 -->
<ListView android:id="@id/android:list" <!-- 设置ListView控件的ID,这个ID为android系统内置ID -->
android:layout_width="fill_parent" <!-- 设置ListView控件的宽度为填满整个屏幕 -->
android:layout_height="wrap_content" <!-- 设置ListView控件的高度为自适应 -->
android:drawSelectorOnTop="false" <!-- 设置ListView控件条目被按下时背景颜色在文字背后,设置成True时背景色会覆盖文字 -->
android:scrollbars="vertical"/> <!-- 设置ListView控件滚动条的方向为纵向 -->

</LinearLayout>
</LinearLayout>

<?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">

<LinearLayout android:id="@+id/listLinearLayout" <!-- 设置LinearLayout的ID -->
android:layout_width="fill_parent" <!-- 设置LinearLayout宽度为填满整个屏幕 -->
android:layout_height="wrap_content" <!-- 设置LinearLayout高度适应内部控件的高度 -->
android:orientation="vertical"> <!-- 设置LinearLayout的排列方式为纵向排列 -->

<!-- 在LinearLayout里嵌套一个ListView控件 -->
<ListView android:id="@id/android:list" <!-- 设置ListView控件的ID,这个ID为android系统内置ID -->
android:layout_width="fill_parent" <!-- 设置ListView控件的宽度为填满整个屏幕 -->
android:layout_height="wrap_content" <!-- 设置ListView控件的高度为自适应 -->
android:drawSelectorOnTop="false" <!-- 设置ListView控件条目被按下时背景颜色在文字背后,设置成True时背景色会覆盖文字 -->
android:scrollbars="vertical"/> <!-- 设置ListView控件滚动条的方向为纵向 -->

</LinearLayout>
</LinearLayout>
ListViw控件中的ID (android:id="@id/android:list") 是Android系统内置的ID,不能改为其他。android:drawSelectorOnTop="false" <!-- 当设置为false时条目被按下时背景颜色在文字背后,
设置成True时背景色会覆盖文字 user.xml布局文件代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<TextView android:id="@+id/user_name"
android:layout_width="180dip"
android:layout_height="wrap_content"
android:singleLine="true"
android:textSize="10pt"
android:paddingTop="2dip"
android:paddingLeft="2dip"
/>

<TextView android:id="@+id/user_ip"
android:layout_width="180dip"
android:layout_height="wrap_content"
android:textSize="10pt"
android:singleLine="true"
android:paddingTop="2dip"
android:paddingRight="2dip"
/>
</LinearLayout>

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

<TextView android:id="@+id/user_name"
android:layout_width="180dip"
android:layout_height="wrap_content"
android:singleLine="true"
android:textSize="10pt"
android:paddingTop="2dip"
android:paddingLeft="2dip"
/>

<TextView android:id="@+id/user_ip"
android:layout_width="180dip"
android:layout_height="wrap_content"
android:textSize="10pt"
android:singleLine="true"
android:paddingTop="2dip"
android:paddingRight="2dip"
/>

</LinearLayout>
3.在Java源代码文件中写入如下代码:
package paj.ListView;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.Activity;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;
publicclass ListViewMain extends ListActivity{
/** Called when the activity is first created. */
@Override
publicvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

//生成一个ArrayList类型的变量list
ArrayList<HashMap<String, String>> list =new ArrayList<HashMap<String,String>>();
//生成两个HashMap类型的变量map1 , map2
//HashMpa为键值对类型。第一个参数为建,第二个参数为值
HashMap<String, String> map1 =new HashMap<String, String>();
HashMap<String, String> map2 =new HashMap<String, String>();
//把数据填充到map1和map2中。
map1.put("user_name", "张三");
map1.put("user_ip", "192.168.1.52");

map2.put("user_name", "李四");
map2.put("user_ip", "192.168.0.1");
//把map1和map2添加到list中
list.add(map1);
list.add(map2);
//生成一个SimpleAdapter类型的变量来填充数据
SimpleAdapter listAdapter =new SimpleAdapter(this, list, R.layout.user, new String[]{"user_name" , "user_ip"}, newint[]{R.id.user_name , R.id.user_ip});
//设置显示ListView
setListAdapter(listAdapter);

}
//重写onListItemClick但是ListView条目事件
@Override
protectedvoid onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
//显示单击条目ID号
System.out.println("id = "+ id);
//显示所单击条目的位置数
System.out.println("position = "+ position);
}



}
package paj.ListView;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.Activity;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;
publicclass ListViewMain extends ListActivity{
/** Called when the activity is first created. */
@Override
publicvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

//生成一个ArrayList类型的变量list
ArrayList<HashMap<String, String>> list =new ArrayList<HashMap<String,String>>();
//生成两个HashMap类型的变量map1 , map2
//HashMpa为键值对类型。第一个参数为建,第二个参数为值
HashMap<String, String> map1 =new HashMap<String, String>();
HashMap<String, String> map2 =new HashMap<String, String>();
//把数据填充到map1和map2中。
map1.put("user_name", "张三");
map1.put("user_ip", "192.168.1.52");

map2.put("user_name", "李四");
map2.put("user_ip", "192.168.0.1");
//把map1和map2添加到list中
list.add(map1);
list.add(map2);
//生成一个SimpleAdapter类型的变量来填充数据
SimpleAdapter listAdapter =new SimpleAdapter(this, list, R.layout.user, new String[]{"user_name" , "user_ip"}, newint[]{R.id.user_name , R.id.user_ip});
//设置显示ListView
setListAdapter(listAdapter);

}
//重写onListItemClick但是ListView条目事件
@Override
protectedvoid onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
//显示单击条目ID号
System.out.println("id = "+ id);
//显示所单击条目的位置数
System.out.println("position = "+ position);
}



}
//生成SimpleAdapter对象参数的解释
view plaincopy to clipboardprint?
SimpleAdapter listAdapter =new SimpleAdapter(
this//this是当前Activity的对象
, list //list为填充数据后的ArrayList类型的list对象
, R.layout.user //这个就是之前创建的第二个布局文件user.xml的id。
, new String[]{"user_name" , "user_ip"} //这个String数组中的元素就是list对象中的列,list中有几这个数组中就要写几列。
//其中的元素必须是list中列的名。
, newint[]{R.id.user_name , R.id.user_ip} //这个int型数组中的元素对应着上上一个参数String类型数组中的列名。
//它的值是对应user.xml布局文件中的TextView的id
);
分享到:
评论

相关推荐

    Android ListView控件基本用法

    * 使用ListView控件的 recycling机制来减少视图的创建和销毁。 Android ListView 控件是 Android 开发中最常用的控件之一。它提供了一个列表视图,以便用户可以浏览和选择列表项。通过了解 ListView 控件的基本属性...

    Android_ListView控件基本用法

    ### Android ListView 控件基本用法详解 #### 一、引言 在Android应用开发中,经常需要展示大量的数据项,并且这些数据项通常具有相似的结构。为了有效地处理这类需求,Android提供了一种非常有用的控件——`...

    安卓手机 ListView控件的三种使用方式

    本教程将详细讲解如何在安卓手机上使用ListView控件,从基础到进阶,通过四个案例来帮助开发者掌握其精髓。 **一、ListView基本使用** 1. **布局文件**:首先,在XML布局文件中添加ListView,例如`activity_main....

    演示Android的ListView控件的使用

    环境:Windows XP SP3、JDK 1.6、Android SDK...目的:熟悉ListView控件的用法--使用ListView必须让Activity继承ListActivity类,并且在main.xml布局描述文档中,ListView类的android.id必须是"@+id/android:list”值。

    android ListView子控件监听

    本篇文章将深入探讨如何在Android中实现ListView子控件的监听。 1. **单击事件监听** 在ListView中,最基础的交互是单击事件。通常,我们可以为ListView设置一个适配器(Adapter),在适配器的getView()方法中为每...

    Android ListView控件的使用(自定义适配器 + ListView + 解决OOM )

    在Android开发中,ListView是一个非常重要的控件,用于展示大量数据列表。本教程将深入讲解如何使用ListView,结合自定义适配器以及解决Out-Of-Memory(OOM)问题。 首先,`ListView`是一个可滚动的视图,它能够...

    Android ListView边框圆角美化

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。为了提升用户体验和界面设计的美观性,我们常常需要对ListView进行定制化,包括设置边框和实现圆角效果。本文将深入探讨如何在Android中实现...

    Android ListView 控件学习

    在Android开发中,ListView是一个非常重要的控件,它允许开发者在一个垂直滚动的列表中展示大量数据。本篇文章将深入探讨ListView的使用、工作原理以及如何优化其性能。 首先,我们来理解ListView的基本概念。...

    android listview自定义控件例子

    在Android开发中,ListView是一个非常重要的视图组件,它允许我们显示大量的数据并...记住,优化ListView的性能也非常重要,尤其是在处理大量数据时,比如使用ViewHolder模式和避免在`getView()`方法中执行耗时操作。

    Android中的ListView控件学习

    在Android开发中,ListView是一个非常重要的控件,它允许开发者在一个垂直滚动的列表中展示大量数据。本篇文章将深入探讨ListView的基本用法、工作原理以及优化策略,旨在帮助你掌握这个核心组件。 **1. ListView的...

    xamarin.android listview控件通过web api获取并展示数据

    以上就是使用Xamarin.Android的ListView控件结合Web API获取和展示数据的基本流程。注意在实际应用中,还需要处理错误、优化性能(如使用ViewHolder模式)以及可能的异步操作。同时,确保Web API的安全性和性能也是...

    Android ListView控件使用方法

    Android ListView控件使用方法 Android ListView控件是Android开发中最常用的控件之一,用于显示列表数据。下面将详细介绍Android ListView控件的使用方法。 什么是ListView? ListView是Android中一个基本控件,...

    android listview控件复用问题解决

    在Android开发中,ListView是一个非常常用的组件,它用于展示大量数据列表。然而,ListView的复用机制虽然提高了性能,但也引入了一些复杂性,特别是在涉及可交互的子视图,如CheckBox时。这个问题主要体现在当用户...

    Android应用源码之34.ListView控件学习.zip

    本资料包“34.ListView控件学习”显然旨在深入解析ListView的使用方法和技巧,通过源码分析帮助开发者更好地理解和掌握这一关键组件。在Android应用中,ListView通常用于显示大量的可交互数据,如联系人列表、菜单项...

    Android中自定义ListView控件实现下拉刷新

    "Android中自定义ListView控件实现下拉刷新" Android中自定义ListView控件实现下拉刷新是 Android 开发中常见的需求。下拉刷新(Pull-to-Refresh)是指在ListView中下拉时,触发刷新操作的机制。下拉刷新可以提高...

    操作ListView控件源码

    本资源提供了关于操作ListView控件的源码,旨在帮助初学者理解并掌握其基本用法。以下是对ListView控件及其操作的详细说明。 **1. ListView的基本结构** ListView由一系列的列表项(ListView Item)组成,每个列表...

    android listview带有editText

    解决这个问题的一个常见方法是使用ListView的`setOnItemSelectedListener`或`setOnFocusChangeListener`监听器,以及EditText的`clearFocus()`方法,确保在焦点转移时正确处理视图状态。同时,可能还需要重写...

    Android系统ListView控件数据递增显示研究.pdf

    本文研究了如何通过Android系统中的ListView控件来实现网络数据的动态递增显示,这种方法尤其适用于需要处理批量数据并以分页形式展示给用户的应用场景。 首先,Android操作系统简介部分提到了Android是一个基于...

    ListView滑轮选择的控件

    ListView滑轮选择控件是一种常见的UI元素,在Android应用开发中被广泛使用,特别是在需要用户进行滚动选择的场景下,如日期选择、时间选择等。它借鉴了WheelView的基本概念,并结合ListView的特点,提供了更加丰富的...

    Android-ListView中嵌套(ListView)控件兼容问题

    ### Android-ListView中嵌套(ListView)控件兼容问题 #### 背景与问题描述 在Android开发中,有时我们需要在`ListView`中嵌套另一个`ListView`以实现更复杂的用户界面设计。然而,在实际操作过程中可能会遇到一些...

Global site tag (gtag.js) - Google Analytics