Android ListView控件基本用法
来源:互联网 发布:mysql 5.5 linux安装 编辑:程序博客网 时间:2024/05/16 09:10
- 下面的代码是mars老师视频教程里的代码,我把它注释了一下。
- 创建两个XML布局文件main.xml和user.xml。main.xml文件为系统自动创建
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"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical">
-
-
- <ListView android:id="@id/android:list"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:drawSelectorOnTop="false"
- android:scrollbars="vertical"/>
-
- </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>
- 在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;
- public class ListViewMain extends ListActivity{
-
- @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>();
-
- map1.put("user_name", "张三");
- map1.put("user_ip", "192.168.1.52");
-
- map2.put("user_name", "李四");
- map2.put("user_ip", "192.168.0.1");
-
- list.add(map1);
- list.add(map2);
-
- 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});
-
- setListAdapter(listAdapter);
-
- }
-
- @Override
- protected void onListItemClick(ListView l, View v, int position, long id) {
-
- super.onListItemClick(l, v, position, id);
-
- System.out.println("id = " + id);
-
- System.out.println("position = " + position);
- }
-
-
-
- }
//生成SimpleAdapter对象参数的解释
- 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}
-
- );