android中ListView控件&&onItemClick点击事件

来源:互联网 发布:南昌军工软件 编辑:程序博客网 时间:2024/05/17 01:45

listView= (ListView) this.findViewById(R.id.listview);
        List<HashMap<String,String>>data = new ArrayList<HashMap<String,String>>();
        UserService us = new UserService(this);
        List<User> users = us.getScrollDate(0, 10);
        for(User u : users){
         HashMap<String,String> map = new HashMap<String, String>();
         map.put("userid", String.valueOf(u.getUserid()));
         map.put("name", u.getName());
         map.put("age", String.valueOf(u.getAge()));
         data.add(map);
        }
        SimpleAdapter adapter = new SimpleAdapter(this,data,R.layout.useritem,new String[]{"userid","name","age"},new int[]{R.id.userid,R.id.name,R.id.age});
        
       listView.setAdapter(adapter);
        listView.setOnItemClickListener(new OnItemClickListener(){

   @SuppressWarnings("unchecked")
   @Override
   public void onItemClick(AdapterView<?> parent, View view,
     int position, long id) {
    ListView listView = (ListView)parent;
    HashMap<String, String> map = (HashMap<String, String>) listView.getItemAtPosition(position);
    String userid = map.get("userid");
    String name = map.get("name");
    String age = map.get("age");
    Toast.makeText(SQLiteCRUDActivity.this, userid +" , "+ name +" , "+ age ,Toast.LENGTH_LONG).show();
   }
        });



另一个例子:


public class ProductListAdapter extends BaseAdapter {
private Context context;
private List<Product> listData;
public ProductListAdapter(Context context) {
this.context = context;
}
public void setData(List<Product> dataList) {
this.listData = dataList;
}
@Override
public int getCount() {
return listData.size();
}
@Override
public Product getItem(int position) {
return listData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int posotion, View convertView, ViewGroup arg2) {

。。。。。

}

}



@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
Product data = (Product)parent.getItemAtPosition(position);
Log.v("itemclick",data.goods_id);
}


方法介绍:

AdapterView的方法

public Object getItemAtPosition (int position)

Added in API level 1

Gets the data associated with the specified position in the list.

Parameters
positionWhich data to get
Returns
  • The data associated with the specified position in the list

原创粉丝点击