2011-12-12 66 views
0

我必须在列表视图中显示我的数据的名称,并且不显示主键。现在,当我点击我将获得名称,但我想获得被点击的数据的主键。如何找到选择列表的主键

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只返回数据的名称。

回答

0

你只是发送您选择的查询方法列表的位置,然后查询最后使用moveToPosition()将光标移到要

+0

最好的方式,最后我得到了它非常感谢你的帮助 – Pandy

0

它不能在您目前的设置中完成。如果您想使用ArrayAdapter来显示数据并返回id,则需要将这些项目包装到实现toString()(以生成显示标签)和类似getId()(以获取id )。

+0

我得到的点击来自getItemIdAtPosition(该)项目的位置,然后移动信息我的光标移动到项目的位置moveToPosition()它的工作 现在我得到了id感谢 – Pandy