Android开发之适配器ListView

本文通过一个具体的例子展示了如何在Android应用中使用ListView组件。包括创建布局文件main.xml和user.xml,以及编写ListActivity.java来填充数据并响应点击事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        最终的效果图如下(点击一行之后,如右图)

                 

      这里需要两个布局文件,一个是main.xml,控制整个屏幕的布局,另一个是需要显示的内容布局,即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:orientation="vertical"
    		android:layout_width="fill_parent"
    		android:layout_height="fill_parent"
		>
		<ListView
			android:id="@id/android:list"  
    		android:layout_width="fill_parent" 
    		android:layout_height="wrap_content" 
    		android:text="@string/hello"
    		android:scrollbars="vertical"
    	/>
	</LinearLayout>
</LinearLayout>

这是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"
    android:paddingLeft="10dip"
    android:paddingRight="10dip"
    android:paddingTop="1dip"
    android:paddingBottom="1dip"
    >
    <TextView 
    	android:id="@+id/user_name" 
    	android:layout_width="130dip" 
    	android:layout_height="30dip"
    	android:textSize="10pt">
    </TextView>
    <TextView 
    	android:id="@+id/user_ip" 
    	android:layout_width="fill_parent" 
    	android:layout_height="fill_parent"
    	android:textSize="10pt">
    </TextView>
	
</LinearLayout>

这是ListActivity.java文件

package com.listView;

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

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.SimpleAdapter;

public class ListView 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.12.10");
        map2.put("user_name", "lisi");
        map2.put("user_ip", "192.168.10.15");
        map3.put("user_name", "wangwu");
        map3.put("user_ip", "192.168.11.18");
        list.add(map1);
        list.add(map2);
        list.add(map3);
        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(android.widget.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);
	}
    
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值