2012-09-04 87 views

回答

2

我假设你使用的是SimpleCursorAdapter(或类似),所以我会用OnItemClickListener

listView.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
     // id references the SQLiteDatabase _id column 
    } 
}); 
+0

但是,如何获取所选项目的ID? – Tim

+0

当用户点击一个ListView行时,它会调用'onItemSelected()'。在'onItemSelected()'里面有变量'id',这是来自ID列的id。 – Sam

+0

谢谢,也会这样工作:myList.getId(); – Tim

1

以下是如何制定出适合我。在另一个类中,我创建了一个List类型的方法,并在sqlite数据库列表中添加了列ID为&的项目名称。

下面是检索所选项目的列标识的代码片段。

public List<String> list; 
    adapt = new MyAdapter(this, R.layout.list_inner_view, list); //custom adapter 
    listTask.setAdapter(adapt); 

    listTask.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View v, int position, long l) { 

      Integer id = list.get(position).getId(); 
      //position is the position of the item in the list. 
     } 
    }); 

结果:该项目位于列表中的第3位。其数据库column_id(自动增量)值为12,因为我删除了以前的项目。所以你期望的结果是12,这是变量id的值。

如果您完全不理解,可能是因为我没有发布我的整个代码。但我会帮你解决你的问题。

相关问题