继承ListActivity实现ListView

本文介绍了如何通过继承ListActivity来实现ListView。ListActivity是Activity的子类,示例代码展示了如何设置Adapter并监听列表项点击事件,以及事件处理方法中的参数解释。

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

继承ListActivity实现ListView
一、通过继承ListActivity实现ListView
ListActivity直接继承了Activity类。以下代码使用Android系统提供的布局文件,所有不需要调用setContentView();就能显示出所需的界面。
Java代码如下所示:
package my.list.namespace;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends ListActivity {
	
	private String[] dispItems = {"中国","美国","德国","法国"};
		
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        setListAdapter(new ArrayAdapter<String>(this,
        		android.R.layout.simple_list_item_1, dispItems));
    }

	@Override
	protected void onListItemClick(ListView l, View v, int position, long id) {
		// TODO Auto-generated method stub
		switch(position){
			case 0:
				dispToast("选择了第一行:中国");
				break;
			case 1:
				dispToast("选择了第二行:美国");
				break;
			case 2:
				dispToast("选择了第三行:德国");
				break;
			case 3:
				dispToast("选择了第四行:法国");
				break;
			default:
				dispToast("选择了未知的行");
				break;
		}
	}
    
    public void dispToast(String text){
    	Toast toast = Toast.makeText(this, text, Toast.LENGTH_LONG);
    	toast.show();
    }
}

上面通过重载protected void onListItemClick(ListView l, View v, int position, long id);方法来实现列表事件的监听/回调。
参数: 
ListView l   是你点击的列表控件, 
View v       是你当前正点击的在ListView中的一项, 
int positon  是被点击的行在列表中的位置,这个位置从0开始算起, 
long id      是被点击的行号。
原文:
@param l:The ListView where the click happened
@param v:The view that was clicked within the ListView
@param position:The position of the view in the list
@param id:The row id of the item that was clicked
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值