如何查找选择列表的主键

时间:2011-12-12 10:50:45

标签: android listview

我必须在列表视图中显示我的数据名称,并且不显示主键。现在当我点击时我会得到名字,但我想获得被点击的数据的主键。

public class list_view extends ListActivity{    
DBAdapter db;
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
    //override method onCreate that Inheritance from Activity Class
    super.onCreate(savedInstanceState);
    setContentView(R.layout.list_view);
    db = new DBAdapter(this);

    setListAdapter(new ArrayAdapter<String>(this,R.layout.row,R.id.label,db.query()));
}           

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method 
    String selection = l.getItemAtPosition(position).toString();
    Toast.makeText(this, selection, Toast.LENGTH_SHORT).show(); //show in toast
    }   
}

db.query仅返回数据名称。

2 个答案:

答案 0 :(得分:0)

目前无法在您的设置中完成。如果你想使用ArrayAdapter显示你的数据并返回id,你需要将这些项包装在一个实现toString()(生成显示标签)和getId()之类的类中(以获取id) )。

答案 1 :(得分:0)

您刚刚发送了您已选择查询方法的列表位置,然后查询最后使用moveToPosition()将光标移动到您想要的信息