您的位置:首页 > 移动开发 > Android开发

ListView的两种使用方法--Android学习笔记

2012-10-12 16:49 197 查看
1.

继承ListActivity ,使用listActivity中的 setListActivity()方法,注意在xml中listView的id一定要设置为android:id="@+/android:list"
MainActivity

package com.example.text;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ListView;
import android.widget.SimpleAdapter;

public class MainActivity extends ListActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_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>();
// ListView listView=(ListView)findViewById(R.id.list);
map1.put("userId", "100001");
map1.put("userName", "用户一");
list.add(map1);
map2.put("userId", "100002");
map2.put("userName", "用户二");
list.add(map2);
map3.put("userId", "100003");
map3.put("userName", "用户三");
list.add(map3);
//定义一个SimpleAdapter,每一个行有两个TextView,分别显示userId和userName
SimpleAdapter simpleAdapter=new SimpleAdapter(this,list,R.layout.user,
new String[]{"userId","userName"},new int[]{R.id.userId,R.id.userName});
//为ListView添加适配器
setListAdapter(simpleAdapter);
//listView.setAdapter(simpleAdapter);//设置listView背后的数据为simpleAdapter。
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}


activity_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="wrap_content"
>
<ListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>


2
直接继承Activity就可以,不过要找到listView的id,用list的setAdapter,这个在xml中的listView的id不需要一定要设置为android:id

package com.example.text;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ListView;
import android.widget.SimpleAdapter;

public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_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>();
ListView listView=(ListView)findViewById(R.id.list);
map1.put("userId", "100001");
map1.put("userName", "用户一");
list.add(map1);
map2.put("userId", "100002");
map2.put("userName", "用户二");
list.add(map2);
map3.put("userId", "100003");
map3.put("userName", "用户三");
list.add(map3);
//定义一个SimpleAdapter,每一个行有两个TextView,分别显示userId和userName
SimpleAdapter simpleAdapter=new SimpleAdapter(this,list,R.layout.user,
new String[]{"userId","userName"},new int[]{R.id.userId,R.id.userName});
//为ListView添加适配器
//setListAdapter(simpleAdapter);
listView.setAdapter(simpleAdapter);//设置listView背后的数据为simpleAdapter。
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}


activity_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="wrap_content"
>
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: