Как выбрать строку в спиннер для известного rowid? - PullRequest
2 голосов
/ 03 января 2011

Когда я открываю Activity для 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);
   }
}

1 Ответ

0 голосов
/ 19 декабря 2012

Почему вы получаете курсор и каждый раз смотрите p на индекс столбца? Просто сделайте:

for (int i = 0; i < spinner.getCount(); i++) {
   long id = spinner.getItemIdAtPosition(i);
   if (id == rowid) {
      spinner.setSelection(i);
   }
}
...