listview添加onItemClickListener

本文通过一个具体的例子展示了如何在Android应用中使用ListView组件。包括如何创建并填充数据到ListView,设置适配器,以及如何实现点击和滚动监听等功能。

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

MainActivity.java

 

package com.wyl.listview04;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;

public class MainActivity extends Activity implements OnItemClickListener,OnScrollListener{
	SimpleAdapter adapter;
	List<Map<String,Object>> list;
	ListView listview ;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.list);//以list.xml为主界面
		/*
		 * 实例化listview等
		 */
		listview = (ListView) findViewById(R.id.listview);
		adapter = new SimpleAdapter(this, getData(), R.layout.textview, new String[]{"pic","txt"}, new int[]{R.id.imgview,R.id.textview});
//		new SimpleAdapter(this, getData(), R.layout.textview, new String[]{"img","textview01"}, new int[]{R.id.imgview,R.id.textview});
		listview.setAdapter(adapter);
		listview.setOnItemClickListener(this);
//		listview.setOnScrollListener(this);
	}
	private List<Map<String, Object>> getData() {
		list = new ArrayList<Map<String,Object>>();
		for(int i=0;i<50;i++){
			Map<String,Object> map = new HashMap<String,Object>();
			map.put("pic", R.drawable.yl);
			map.put("txt", "wyl "+i*i);
			System.out.println("====="+map.get("txt"));
			list.add(map);
		}
		return list;
	}
	@Override
	public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
		String location = "位置:"+listview.getItemIdAtPosition(position);
		String l = "   内容,"+listview.getItemAtPosition(position);
		Toast.makeText(this, location+l, Toast.LENGTH_SHORT).show();
		
	}
	@Override
	public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) {
		// TODO Auto-generated method stub
		Toast.makeText(this, "onScroll方法", Toast.LENGTH_SHORT).show();
	}
	@Override
	public void onScrollStateChanged(AbsListView arg0, int state) {
		// TODO Auto-generated method stub
		switch (state) {
		case SCROLL_STATE_FLING:
			Map<String,Object> map  = new HashMap<String, Object>();
			map.put("pic", R.drawable.ic_launcher);
			map.put("txt", "这是增加想");
			list.add(map);
			adapter.notifyDataSetChanged();//通知主线程界面刷新数据
			Toast.makeText(this, "SCROLL_STATE_FLING", Toast.LENGTH_SHORT).show();
			break;
		case SCROLL_STATE_IDLE:
			Toast.makeText(this, "SCROLL_STATE_IDLE", Toast.LENGTH_SHORT).show();
			break;
		case SCROLL_STATE_TOUCH_SCROLL:
			Toast.makeText(this, "SCROLL_STATE_TOUCH_SCROLL", Toast.LENGTH_SHORT).show();
			break;
		
			
		default:
			break;
		}
	}

	

}

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值