android getitem,Android类BaseAdapter中getItem和getItemId方法的意图是什么?

这篇博客介绍了Android开发中ListView适配器的getItem和getItemId方法的作用。getItem方法用于获取列表中指定位置的项目对象,而getItemId则返回对应项目的唯一标识,通常是数据库文档ID。当用户点击列表项时,可以通过这两个方法提取相关数据,例如项目名称和数据库ID,从而实现交互逻辑。
摘要由CSDN通过智能技术生成

getItem或getItemId是主要设计用于附加列表中的项目数据的方法。在getItem的情况下,您可以传递将附加到列表中的项目的任何对象。通常人们会返回null。 getItemId是您可以使用列表中的同一项目附加的任何唯一long值。人们通常会返回列表中的位置。

有什么用。那么,因为这些值绑定到列表中的项目,您可以提取它们时,用户点击该项目。这些值可通过AdapterView方法访问。

// template class to create list item objects

class MyListItem{

public String name;

public long dbId;

public MyListItem(String name, long dbId){

this.name = name;

this.dbId = dbId;

}

}

///

// create ArrayList of MyListItem

ArrayList myListItems = new ArrayList(10);

// override BaseAdapter methods

@Override

public Object getItem(int position) {

// return actual object

// which will be available with item in ListView

return myListItems.get(position);

}

@Override

public long getItemId(int position) {

// return id of database document object

return myListItems.get(position).dbId;

}

///

// on list item click, get name and database document id

my_list_view.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

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

// extract item data

MyListItem selectedItem = (MyListItem)parent.getItemAtPosition(position);

System.out.println("Your name is : " + selectedItem.name);

// extract database ref id

long dbId = id;

// or you could also use

long dbId = parent.getItemIdAtPosition(position);

}

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值