也许很容易,但我很难解决这个问题。所以我在列表视图中有项目,以下代码是:
private List<Item> loadItem(){
itemEntityList = new ArrayList<Item>();
Item item1 = new Item();
item1.setId(1);
item1.setCategoryId(1);
item1.setProductName("Blopress 8mg");
item1.setPrice("10000");
itemEntityList.add(item1);
Item item2 = new Item();
item2.setId(2);
item2.setCategoryId(3);
item2.setProductName("Blopress 16mg");
item2.setPrice("12000");
itemEntityList.add(item2);
Item item3 = new Item();
item3.setId(3);
item3.setCategoryId(2);
item3.setProductName("Celebrex 100mg");
item3.setPrice("15000");
itemEntityList.add(item3);
Item item4 = new Item();
item4.setId(4);
item4.setCategoryId(1);
item4.setProductName("Celebrex 200mg");
item4.setPrice("17000");
itemEntityList.add(item4);
return itemEntityList;
}
我希望当我点击列表查看其Toast消息Id。我试过这个但是它的listview的吐司位置。我想干什么我不是位置,有什么建议吗?
listViewCatalog.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Toast.makeText(CatalogActivity2.this, position+" _", Toast.LENGTH_LONG).show();
}
});
答案 0 :(得分:3)
适配器中有getItemId()
方法。像这样的东西:
@Override
public long getItemId(int position) {
return mObjects.get(position).getId();
}
如果您在适配器中实现了这样的方法。您可以随时拨打电话,并获取您的项目ID:
yourAdapter.getItemId(position);
UPDATE
正如@pskink所提到的,你可以使用onItemClick
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {...}
是id。