Android 如何查找选择列表的主键
我必须在listview上显示数据的名称,而不显示主键。现在,当我单击时,我将获得name,但我希望获得所单击数据的主键Android 如何查找选择列表的主键,android,listview,Android,Listview,我必须在listview上显示数据的名称,而不显示主键。现在,当我单击时,我将获得name,但我希望获得所单击数据的主键 public class list_view extends ListActivity{ DBAdapter db; /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { //override method onCr
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只返回数据的名称。在当前的设置中无法执行此操作。如果要使用ArrayAdapter显示数据并返回id,您需要将项目包装在一个类中,该类实现了toString来生成显示标签,以及getId之类的东西来获取id。您只需将所选列表的位置发送到query方法,然后query最终使用moveToPosition将光标移动到您想要的信息中。我获取被单击的项目的位置GetItemIDataPosition,然后通过moveToPosition将光标移动到项目的位置它的工作现在我得到了id Thanks Best way,最后我得到了它非常感谢您的帮助