Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何查找选择列表的主键_Android_Listview - Fatal编程技术网

Android 如何查找选择列表的主键

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

我必须在listview上显示数据的名称,而不显示主键。现在,当我单击时,我将获得name,但我希望获得所单击数据的主键

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,最后我得到了它非常感谢您的帮助