16 ListView


package mars.listview;

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 {
/** Called when the activity is first created. */
@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>();
map1.put("user_name", "zhangsan");
map1.put("user_ip", "192.168.0.1");
map2.put("user_name", "zhangsan");
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);
MyAdapter listAdapter = new MyAdapter(this, list,
R.layout.user1, new String[] { "user_name", "user_ip" },
new int[] { R.id.user_name,R.id.user_ip});
setListAdapter(listAdapter);
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
System.out.println("id----------------" + id);
System.out.println("position----------" + position);
}

}


<?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" 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="5pt"
android:singleLine="true" />
<TextView android:id="@+id/user_ip" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:gravity="right"
android:textSize="5pt" />
</LinearLayout>

根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter
其中以ArrayAdapter最为简单,只能展示一行字。SimpleAdapter有最好的扩充性,可以自定义出各种效果。
SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来。

时间: 2024-10-11 00:20:28

16 ListView的相关文章

.Net程序员玩转Android开发---(16)ListView分页事件

ListView在加载是数据的时候,如果一次性把所有数据都加载出来,这样如果数据量大的话,效率低,性能差,通常情况下采取的措施是分页加载,只加载当前页数量的数据.这一节我们演示下ListView怎么分页加载数据.首先看下效果图 1. 创建加载进度栏 ListVIew每次加载的时候,会在底部有一个加载进度条栏,显示加载中,我们创建一个这样的布局文件,代码如下 <?xml version="1.0" encoding="utf-8"?> <Linear

ScrollView嵌套GridView和ListView行高问题

1.GidView使用的时候可以先重载GirdView例如: 1 public class MyGridView extends GridView { 2 3 public MyGridView(Context context) { 4 super(context); 5 } 6 7 public MyGridView(Context context, AttributeSet attrs) { 8 super(context, attrs); 9 } 10 11 public MyGridVi

Fragment 回退栈 传递参数,点击切换图片使用Fragment ListView

Fragment回退栈  类似与Android系统为Activity维护一个任务栈,我们也可以通过Activity维护一个回退栈来保存每次Fragment事务发生的变化. 如果你将Fragment任务添加到回退栈,当用户点击后退按钮时,将看到上一次的保存的Fragment. 一旦Fragment完全从后退栈中弹出,用户再次点击后退键,则退出当前Activity.   transaction.add(R.id.right, rightFragment); transaction.addToBack

android 检测ListView滚动到的位置

ListView滚动 1.要用到一个监听事件是:setOnScrollListener(); API解释是: Set the listener that will receive notifications every time the list scrolls. Parameters:l the scroll listener 2.它里面包含了两个方法: 一个是:onScrollStateChanged(AbsListView view, int scrollState),用来表明ListVi

View(视图)——ListView概述、Adapter分类

ListView 1.概念 (1)列表视图 (2)用来显示多个可滑动项列表的ViewGroup (3)需要适配器Adapter将集合中数据和每一个Item所对应的布局动态适配到ListView中进行显示 2.适配器 Adaper (1)API (2)分类 3.监听器 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.

View(视图)——ListView之 SimpleAdapter

一.概念 列表视图:用来显示多个可滑动项列表的ViewGroup:需要适配器Adapter 将集合中数据和每一个Item所对应的布局动态适配到ListView中进行显示. 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools=

Android: ListView数据的分批加载 以及 Handle 总结

这是效果图: activity_main.xml 01 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 02     xmlns:tools="http://schemas.android.com/tools" 03     android:layout_width="match_parent" 04     android:layout_he

Android之ListView&amp;Json加载网络数据

使用到的主要内容: 1.Json 解析网络数据 2.异步任务加载图片和数据 3.ListView 的内存空间优化(ConvertView)和运行时间优化(ViewHolder) 4.ListView 滚动监听实现分页加载数据 5.动态定义 布局和控件(想实现下拉刷新,好像不是这样实现的..) ....... HttpUtil 工具类网络申请数据(用 Gson 解析) --- 别忘记添加网络权限 <uses-permission android:name="android.permissio

动态设置ScrollView里面的ListView的高度

思路:循环取得listview中的Item的高度,把所有Item高度累加,就是Listview的高度. 1 public static void setListViewHeightBasedOnChildren(ListView listView) { 2 if (listView == null) 3 return; 4 ListAdapter listAdapter = listView.getAdapter(); 5 if (listAdapter == null) { 6 return;