天天看點

android——給ListView添加點選事件的三種方式

本文将介紹給ListView添加點選事件的三種方式:

1、第一種方式。在BaseAdapter的基礎上添加點選事件

personLV.setOnItemClickListener(new MyOnItemClickListener());
		
		private class MyOnItemClickListener implements OnItemClickListener{

			@Override
			public void onItemClick(AdapterView<?> parent, View view, int position,
					long id) {
	 
				Person p = (Person) parent.getItemAtPosition(position);
				
				Toast.makeText(getApplicationContext(), p.getName(), Toast.LENGTH_SHORT).show();

			}
			
			
		}
           

2、第二種方式。在SimpleAdapter的基礎上添加點選事件

personLV.setOnItemClickListener(new MyOnItemClickListener());
		
		private class MyOnItemClickListener implements OnItemClickListener{

			@Override
			public void onItemClick(AdapterView<?> parent, View view, int position,
					long id) {
	 
				Map<String,Object> map =  (Map<String, Object>) parent.getItemAtPosition(position);
			
			Toast.makeText(getApplicationContext(), "我的月薪是:"+ map.get("balance"), Toast.LENGTH_SHORT).show();
		

			}
			
			
		}
           

3、第三種方式。在SimpleCursorAdapter的基礎上添加點選事件

personLV.setOnItemClickListener(new MyOnItemClickListener());
		
		private class MyOnItemClickListener implements OnItemClickListener{

			@Override
			public void onItemClick(AdapterView<?> parent, View view, int position,
					long id) {

				 Cursor c = (Cursor) parent.getItemAtPosition(position);
				 Toast.makeText(getApplicationContext(), c.getString(1) + "是我們的女神", Toast.LENGTH_SHORT).show();
			}
			
		}
           

小結:通過以上三種給ListView添加點選事件的方式,我們可以看到。他們最大的差别就在于parent.getItemAtPosition(position)的傳回值

是不一樣的。