如何设置onItemClick的行ID

时间:2012-09-18 13:12:39

标签: android android-arrayadapter onitemclicklistener

我有onItemClick监听器,我想使用id值。 但它与位置具有相同的价值。

public void onItemClick(AdapterView<?> a, View view, int position, long id) {
    DBh.something(id);
}

我使用自定义ArrayAdapter类似于那个: onItemClickListener with custom adapter and listview

我试图使用row.setId()但它的int不长。

2 个答案:

答案 0 :(得分:5)

我不是在问为什么你正在尝试这样做(你可能有你的理由),所以只会解释如何来做这件事。由于您已经在实现自定义适配器,因此您只需覆盖getItemId方法:

@Override
public long getItemId(int position) {
    //return ID based on the position
    return ...;
}

然后,此值将传递到接收项ID的其他方法。请注意,如果您知道如何从该位置获取ID,那么您可以直接在onItemClickListener中执行此操作,因为该位置已传入其中。

答案 1 :(得分:1)

你想要达到什么目的?在您的适配器中,您可以覆盖“getItemId(int position)”,并使其返回您要为该项目提供的任何Id。但为什么要使用id值,为什么不简单地使用这个位置?