Java Android sqlite正在检索onItemSelected中的行

Java Android sqlite正在检索onItemSelected中的行,java,android,sqlite,spinner,Java,Android,Sqlite,Spinner,在微调器中单击时,我尝试通过以下方式检索表的真实\u id: @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { String c = parent.getSelectedItem().toString(); long id_mark = parent.getItemIdAtPosition(position); Toas

在微调器中单击时,我尝试通过以下方式检索表的真实
\u id

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    String c = parent.getSelectedItem().toString();
    long id_mark = parent.getItemIdAtPosition(position);
    Toast.makeText(parent.getContext(), "Category: " + c + " | _id: " + id_mark, Toast.LENGTH_LONG).show();
}
Toast输出为:

Category: NAME_HERE_2 | _id: 2
但是
id\u标记
与我的表的
\u id
不同。那么如何进行呢? 提前谢谢

但是
id\u标记
与我的表的
\u id
不同。那么如何进行呢


如果您使用的是游标适配器,并且希望从表中获取
\u id
,只需使用
onimselected()
中的第四个参数
id
id
已经为所选行保存了表的主键。

不知道适配器类(类型和如何输入)很难说,但是如果用户删除第2行,例如,id=3的列将传递给id=2的微调器。如果使用游标和游标适配器,结果会是一样的,不是吗。您使用的是哪种类型的适配器?我使用ArrayAdapter在spinnerHmm中进行设置,然后您必须编写第二个查询并将此信息存储在新数组中,然后实现一种方法来绑定多个数组并反映数据库中可能异步发生的任何更改。。。或者您可以切换到CursorAdapter,因为它比ArrayAdapter写入和使用更快。我将首先尝试使用CursorAdapter。谢谢你,伙计!
Category: NAME_HERE_2 | _id: 2