在Onclick方法中捕获数据库ID

时间:2011-09-06 17:57:13

标签: java android sqlite listview onclick

我有一个从SQL数据库填充的列表视图。我正在使用以下onlick代码来检测何时选择一个单元格:

ListView yourList = (ListView) findViewById(android.R.id.list);

    yourList.setOnItemClickListener(new OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,  long arg3) {
                        Log.e("onClick",""+arg2);                                                                  
                        }   
    });

目前这段代码告诉我点击了哪一行。然而,我想要捕获的是来自数据库的名为_ID的字段。项目在列表视图中显示的顺序与它们在数据库中的顺序不同,因为我已经在我的应用程序代码中对它们进行了排序。

有人可以帮忙吗?

编辑我知道我可以使用arg3 - 但是每行返回0。我该如何纠正?

1 个答案:

答案 0 :(得分:1)

id包含在回调中。如果查看documentation of the OnItemClickListener,方法签名为:

 public abstract void onItemClick (
        AdapterView<?> parent, View view, int position, long id)

注意示例中的'id'字段是'arg3'。这是您要查找的数据库中的“_id”字段。