Android 如何在微调器中为已知rowid选择行?

Android 如何在微调器中为已知rowid选择行?,android,spinner,Android,Spinner,当我打开EditRecord的“活动”时,我希望选择微调器行以在已编辑的记录中获得足够的值 我发现下面这样的代码,但是在spinner中很少记录是可以的,但是当spinner.cursor包含很多记录时,我认为这是不正确的想法。 是否有其他方法为已知rowid选择微调器行 Spinner spinner = (Spinner) findViewById(R.id.spinner); spinner.setAdapter(new SimpleCursorAdapter(...)); for (in

当我打开EditRecord的“活动”时,我希望选择微调器行以在已编辑的记录中获得足够的值 我发现下面这样的代码,但是在spinner中很少记录是可以的,但是当spinner.cursor包含很多记录时,我认为这是不正确的想法。 是否有其他方法为已知rowid选择微调器行

Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.setAdapter(new SimpleCursorAdapter(...));
for (int i = 0; i < spinner.getCount(); i++) {
   Cursor value = (Cursor) spinner.getItemAtPosition(i);
   long id = value.getLong(value.getColumnIndex("_id");
   if (id == rowid) {
      spinner.setSelection(i);
   }
}
Spinner-Spinner=(Spinner)findViewById(R.id.Spinner);
spinner.setAdapter(新的SimpleCursorAdapter(…);
对于(int i=0;i
为什么每次都会得到一个光标并查看列索引?只需执行以下操作:

for (int i = 0; i < spinner.getCount(); i++) {
   long id = spinner.getItemIdAtPosition(i);
   if (id == rowid) {
      spinner.setSelection(i);
   }
}
for(int i=0;i
为什么每次都会得到一个光标并查看列索引?只需执行以下操作:

for (int i = 0; i < spinner.getCount(); i++) {
   long id = spinner.getItemIdAtPosition(i);
   if (id == rowid) {
      spinner.setSelection(i);
   }
}
for(int i=0;i
我没有从上面的代码中得到您想要做的事情您正在枚举所有微调器值,然后将它们设置为选择项我不认为这是您想要的我想在微调器控件中为给定的recordId选择行。在codae avoe中,我为每个记录查找给定rowid的位置。接下来我选择此记录。此代码执行以下操作:在我想,但它没有效率,我在寻找更好的解决方案:看主语我没有从上面的代码中得到你想要做的事情你正在枚举所有微调器值,然后将它们设置为选择我不认为这是你想要的我想为给定的记录ID选择微调器控件中的行。在尾声avoe中,我为每个记录查找什么position已经给出了rowid。接下来我选择这个记录。这个代码做了我想做的事情,但效率不高,我正在寻找更好的解决方案:参见主题