Обновление счетчика

У меня есть представление со счетчиком. Действие запускает другой acvitity со всплывающего окна, где я добавляю или удаляю значения, которые родитель показывает в Счетчике. Так, в onActivityResult () я обновляю содержание Счетчика так, чтобы это отразило любые дополнительные или удаленные значения путем называния моего fillSpinner () методом. Параметр к этому методу является ранее выбранным значением:

private void fillSpinner(String value){

    Cursor c =  mDbHelper.getAllCategories();
    startManagingCursor(c);
    c.moveToFirst();

    String[] from = new String[]{DBAdapter.KEY_CATEGORY};       
    SimpleCursorAdapter scCats = new SimpleCursorAdapter(
        this, android.R.layout.simple_spinner_item,c,from,
            new int[]{android.R.id.text1});
    scCats.setDropDownViewResource(
        android.R.layout.simple_spinner_dropdown_item);
    category.setAdapter(scCats);

    if (value != null && value != "") {
        category.setSelection((int)mDbHelper.categoryIndex(value));
    }
}

Когда я открываю Spinner, он содержит корректный список (т.е. он был обновлен), и правильное значение выбрано. Однако само управление Счетчиком (в его закрытом состоянии) не показывает выбранное значение, но первое в списке.

Когда я ступаю через код в отладчик, значение Счетчика правильно прежде и после того, как я называю setSelection () (и это всегда называют с тем же корректным идентификатором). Однако, так как я не могу ступить из события, когда я возобновляю выполнение с короткого момента значение в изменениях Счетчика.

Другими словами, отображенная струна счетчика поменялась и отличается от выбранного пункта, когда я возвращаюсь из своего раскрывающегося действия.

Любые идеи ценятся.

7
задан cdonner 4 July 2010 в 02:06
поделиться

1 ответ

Я думаю, проблема заключалась в том, что мой курсор воссоздавался при каждом вызове. У меня нет лучшего объяснения. Этот пост косвенно указал мне правильное направление.

Удерживая курсор после его первоначального создания, я смог просто вызвать Requery () после изменения данных списка, в отличие от выполнения метода в моем вопросе. Теперь все работает нормально.

1
ответ дан 7 December 2019 в 09:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: