`
byandby
  • 浏览: 1695684 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android ListView 使用 示例

阅读更多
    什么是listview?  直白点说就是一个能垂直滚动显示列表项的视图View 这些选项的数据来自与这个ListView关联的ListAdapter 这个示例需要2个布局文件  我们先看看运行效果


man.xml
这个布局文件用来设置Activity的布局

<?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"
  		android:layout_height="wrap_content"
  		android:orientation="vertical"
  		android:layout_width="fill_parent">
  		<!-- 我们会自己定义listview的显示方式(在另外一个布局文件里边)不用默认的方式 如果自定义listview的显示方式这里这个 
  		android:id="@id/android:list" 必须这样写 
  		 -->
  		<ListView android:id="@id/android:list" android:layout_width="fill_parent" 
  			android:layout_height="wrap_content" android:drawSelectorOnTop="false"
  			android:scrollbars="vertical"/>
  			<!-- android:drawSelectOnTop="false"此属性用来设置listview上的背景颜色会不会挡住(覆盖)内容
  				如果这是为false就表示不会覆盖掉 ,这个大家拿例子测试一下效果就明白了
  			 -->
  </LinearLayout>
</LinearLayout>


user.xml
user.xml用来设置listview的布局方式 在白点说就是 你想怎么显示这个listView

<?xml version="1.0" encoding="utf-8"?>
<!-- 此布局文件用来定义listview 的显示方式 -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingLeft="10dip"
    android:paddingRight="10dip"
    android:paddingTop="1dip"
    android:paddingBottom="1dip"
    >
<TextView  
	android:id="@+id/user_name"
    android:layout_width="180dip" 
    android:layout_height="30dip"
    android:textSize="10pt"
    android:singleLine="true"/> 
<TextView 
	android:id="@+id/user_ip" 
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"	
	android:gravity="right"
	android:textSize="10pt"/> 
</LinearLayout>

Activity类 注意这个Activity01继承的是ListActivity
package xiaohang.zhimeng;

import java.util.ArrayList;
import java.util.HashMap;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;

public class Activity01 extends ListActivity {
   
	//ListActivity一个以列表的方式显示数据源、数组的Activity
	//ListActivity Class Overview(此描述摘自官方文档说的非常清楚了)
	/*An activity that displays a list of items by binding to a data source such as an array or Cursor, and exposes event handlers when the user selects an item.

	ListActivity hosts a ListView object that can be bound to different data sources, typically either an array or a Cursor holding query results. Binding, screen layout, and row layout are discussed in the following sections.

	Screen Layout

	ListActivity has a default layout that consists of a single, full-screen list in the center of the screen. However, if you desire, you can customize the screen layout by setting your own view layout with setContentView() in onCreate(). To do this, your own view MUST contain a ListView object with the id "@android:id/list" (or list if it's in code)

	Optionally, your custom view can contain another view object of any type to display when the list view is empty. This "empty list" notifier must have an id "android:empty". Note that when an empty view is present, the list view will be hidden when there is no data to display.

	The following code demonstrates an (ugly) custom screen layout. It has a list with a green background, and an alternate red "no data" message.*/
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String,String>>();
        HashMap<String, String> map1 = new HashMap<String, String>();
        HashMap<String, String> map2 = new HashMap<String, String>();
        HashMap<String, String> map3 = new HashMap<String, String>();
        //一个map对象对应一条数据
        map1.put("user_name", "zhangsan");
        map1.put("user_ip", "192.168.0.1");
        
        map2.put("user_name", "lisi");
        map2.put("user_ip", "192.168.0.2");
        
        map3.put("user_name", "wangwu");
        map3.put("user_ip", "192.168.0.3");
        list.add(map1);
        list.add(map2);
        list.add(map3);
        //这里对SimpleAdapter这个构造方法的参数说明一下 E文好的直接看E文
        /*context	The context where the View associated with this SimpleAdapter is running
        data	A List of Maps. Each entry in the List corresponds to one row in the list. The Maps contain the data for each row, and should include all the entries specified in "from"
        resource	Resource identifier of a view layout that defines the views for this list item. The layout file should include at least those named views defined in "to"
        from	A list of column names that will be added to the Map associated with each item.
        to	The views that should display column in the "from" parameter. These should all be TextViews. The first N views in this list are given the values of the first N columns in the from parameter.*/
        /**
         * 参数一 Context 这个不说了
         * 参数二 就是上边声明的那个ArrayList对象
         * 参数三 这个参数用来指定 我们一行数据 的key 也就是一个map对象的key 上下结合看一下 因为我们一条数据也就是一行
         * 对应一个map对象 一个map对象包含2个数据 即 user_name 和 user_ip 这个参数就是用来指定这2个key 这里是通过String数组的方式
         * 参数四  大家一看就知道了 意思是 user_name 这条数据用 R.id.user_name 这个TextView显示  user_ip 这条数据用 
         * R.id.user_ip 显示
         */
        SimpleAdapter listAdapter = new SimpleAdapter(this,list,
        		R.layout.user, new String[] {"user_name","user_ip"},
        		new int[] {R.id.user_name,R.id.user_ip});
        //这是Adapter setListAdapter()此方法来自ListActivity
        setListAdapter(listAdapter);
    }
    //当我们点击一条数据 或者说一行时 触发的Click事件
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
    	super.onListItemClick(l, v, position, id);
    	//我们输出它的 ID 和 position
    	//ID
    	System.out.println("id------------>" + id);
    	//位置
    	System.out.println("position--------->" + position);
    }
}

ANDROID 2.0  APILEVEL 5
源码和运行效果图见附件
  • 大小: 28.7 KB
4
1
分享到:
评论
1 楼 mm4409092 2012-05-05  
android listview综合使用示例_结合数据库操作和listitem单击长按等事件处理
http://blog.csdn.net/lk_blog/article/details/7537200

相关推荐

    Android ListView简单示例

    在Android开发中,ListView是一个非常重要的组件,常用于展示大量数据列表。本示例将详细介绍如何在Android Studio中创建一个简单的ListView。...通过解压和查看这些文件,你可以更好地理解这个简单的ListView示例。

    android ListView简单示例

    本示例将深入探讨如何在Android应用中使用ListView,包括它的基本使用、适配器(Adapter)机制以及一些高级特性。 1. **ListView的基本使用** - 在XML布局文件中,使用`&lt;ListView&gt;`标签创建ListView。例如: ```...

    Android ListView Tween示例源代码.rar

    这个“Android ListView Tween示例源代码”压缩包提供了关于如何为ListView添加平滑过渡效果(Tween动画)的实践代码。下面将详细解释相关知识点。 1. **ListView基础**: - ListView是Android中一种视图容器,它...

    Android ListView使用ArrayAdapter示例

    Android中使用ArrayAdapter的demo,比较简单,里面用两种方法实现,在MainActivity里面,其中一种被我注释起来了,大家把注释去掉就好了。没有使用自定义适配器,对应的我的博客地址是:...

    android中一个简单的LIstView用法例子

    在Android开发中,...通过实践这个简单的ListView例子,你可以深入理解Android中列表视图的使用,为以后的开发工作打下坚实的基础。在实际项目中,你可能会遇到更复杂的需求,但只要掌握了基本原理,就能灵活应对。

    android多选ListView示例

    在本示例中,我们将探讨如何实现一个支持多选功能的ListView,即"android多选ListView示例"。 一、ListView的多选模式 默认情况下,ListView处于单选模式,即每次只能选择一个条目。要启用多选模式,我们需要使用...

    Android ListView使用SimpleAdapter示例

    ListView使用simpleAdapter填充实现,数据结构是HashMap,对应的我的博客地址是: http://blog.csdn.net/u012320459/article/details/47667869

    Android ListView 应用示例

    通过研究这个示例,你可以更深入地理解ListView的工作原理和使用技巧,为自己的应用开发提供宝贵的参考。 总之,ListView是Android开发中不可或缺的一部分,通过Adapter,我们可以轻松地将各种数据源的数据展示在...

    AndroidStudio 4.2.2 ListView 使用示例

    本文将深入探讨在Android Studio 4.2.2版本中如何有效地使用ListView,提供一个简单且详细的使用示例。 首先,我们需要了解ListView的基本结构。ListView是由Adapter驱动的,Adapter是连接数据源和视图的桥梁。在...

    android listview 里面使用checkbox

    综上所述,要在Android的ListView中使用Checkbox,我们需要创建自定义Adapter,设计Checkbox的布局,管理复选状态,监听并处理用户操作,同时注意性能优化和状态恢复。在实际项目中,这样的实现方式能够提供灵活的...

    android 常用的listview管理示例

    android 常用的listview管理示例。包括listview的里面数据的删除,点击,各种事件。较流行的一种写法,虽然界面比较丑,但具体是实现了。我的博客地址:http://blog.csdn.net/qq_16064871。

    androidlistview里面使用radiobutton

    在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。而当需要在ListView中实现单选功能时,我们通常会使用RadioButton。本文将深入探讨如何在ListView中集成RadioButton,以及相关的实现...

    android 嵌套的listview示例

    通过以上步骤,你应该能够实现一个基本的嵌套ListView示例。不过,实际应用中可能还需要根据具体需求进行更多的定制和优化。在开发过程中,参考Android官方文档、开发者博客(如给出的CSDN博客链接)和其他开源项目...

    android listview 示例源代码

    本示例源代码提供了关于Android ListView的详细实现,帮助开发者掌握如何有效地使用和定制ListView。 首先,ListView的基本使用包括以下几个关键步骤: 1. **布局文件配置**:在XML布局文件中添加ListView元素,...

    Android ListView实例源码

    这个实例源码“Test_Golf1”很可能包含了一个完整的ListView应用示例,帮助开发者理解如何在Android中有效地使用ListView。下面将详细阐述ListView的相关知识点。 1. **ListView基本使用**: - `ListView`是...

    android listview带有editText

    对于这些问题,可以通过设置ListView的`transcriptMode`属性、监听软键盘的显示隐藏、或者使用诸如`android:descendantFocusability`这样的XML属性来调整ListView的行为。 至于提到的"后2个包没用",可能是指在解决...

    android listView 适配器demo

    在Android开发中,ListView是一个非常重要的组件,它用于展示大量数据列表,通常配合适配器(Adapter)使用。本示例“android listView 适配器demo”将详细讲解如何利用适配器机制来动态填充ListView的数据。 首先...

    基于Android ListView之加载使用技巧

    在Android开发中,ListView是一个非常重要的...综上所述,Android ListView的加载使用技巧涵盖了Adapter的优化、加载状态的管理以及用户体验的提升。理解并掌握这些技巧,能帮助开发者打造出更加高效、易用的列表界面。

    Android listView学习源码.zip

    这份"Android listView学习源码.zip"提供了学习ListView使用和优化的基础示例,适合初学者深入理解其工作原理。 ListView的工作机制主要基于Adapter模式,Adapter是连接数据源和ListView的桥梁。在Android中,我们...

Global site tag (gtag.js) - Google Analytics