如何设置onItemClick的行ID

Pax*_*ees 1 android android-arrayadapter onitemclicklistener

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

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

我使用自定义ArrayAdapter类似于那个: onItemClickListener与自定义适配器和列表视图

我试图使用row.setId()但其int不长.

Ale*_*s G 5

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

@Override
public long getItemId(int position) {
    //return ID based on the position
    return ...;
}
Run Code Online (Sandbox Code Playgroud)

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