ListView列表显示数据

本文介绍了Android中使用ListView展示数据的两种方式:List<HashMap<String,Object>>方式和Cursor方式,并详细解释了如何配置适配器及通过点击事件获取数据。

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

ListView显示列表数据分为List<HashMap<String,Object>>方式和Cursor方式。两种方式用的适配器不一样,点击item取会的数据类型也不一样。


1、List<HashMap<String,Object>>方式:

List<News> videos = VideoNewsService.getLastNews();
			List<HashMap<String, Object>> data = new ArrayList<HashMap<String,Object>>();
			for(News news : videos){
				HashMap<String, Object> item = new HashMap<String, Object>();
				item.put("id", news.getId());
				item.put("title", news.getTitle());
				item.put("timelength", getResources().getString(R.string.timelength)
						+ news.getTimelength()+ getResources().getString(R.string.min));
				data.add(item);
			}
			SimpleAdapter adapter = new SimpleAdapter(this, data, R.layout.item,
					new String[]{"title", "timelength"}, new int[]{R.id.title, R.id.timelength});
			listView.setAdapter(adapter);
			listView.setOnItemClickListener(new ItemClickListener() );


 

点击Item: 

class ItemClickListener implements OnItemClickListener {
		@Override
		public void onItemClick(AdapterView<?> parent, View view, int position,
				long id) {
		ListView listView = (ListView) parent;
			HashMap<String, Object> data = (HashMap<String, Object>) listView.getItemAtPosition(position);
			String personid = data.get("id").toString();
			Toast.makeText(getApplicationContext(), personid, 1).show();
		}	


 

 

2.Cursor方式: 

PersonService service=new PersonService(getApplicationContext());
		Cursor cursor=service.getScorollData(0, 10);
	
		ListView listView = (ListView) this.findViewById(R.id.listView);
		SimpleCursorAdapter adapter=new SimpleCursorAdapter(getApplicationContext(), R.layout.item, cursor, new String[] 		{ "name", "age" }, new int[] {
						R.id.title, R.id.len });
		listView.setAdapter(adapter);
		listView.setOnItemClickListener(new ItemClickListener() );


 

 

点击Item: 

class ItemClickListener implements OnItemClickListener {
		@Override
		public void onItemClick(AdapterView<?> parent, View view, int position,
				long id) {
			ListView listView = (ListView) parent;
			Cursor cursor =  (Cursor) listView.getItemAtPosition(position);
			String name=cursor.getString(cursor.getColumnIndex("name"));
			Toast.makeText(getApplicationContext(), name, 1).show();
		}
	}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值