У меня есть Spinner. После выбора элемента и обновления адаптера с помощью notifyDataSetChanged выбранный элемент, отображаемый в Spinner (Textview), изменяется. Эта функциональность разработана. Поскольку выбранная позиция осталась прежней, но значение выбранной позиции изменилось из-за нового содержимого от обновления адаптера.
Я хочу продолжить отображение первоначально выбранного элемента после обновления адаптера.
Я надеялся, что это решение сработает, но событие / список никогда не запускаются. Может быть, потому что я использую Spinner и список не отображается?
https://stackoverflow.com/a/29173680/2330272
mListView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
mListView.removeOnLayoutChangeListener(this);
Log.e(TAG, "updated");
}
});
mAdapter.notifyDataSetChanged();
Обновление
Помогите хотя бы с двумя вопросами:
Как определить, когда Spinner завершил обновление представления после вызова notifyDataSetChanged для adpater?
Как найти положение (индекс) значения (метки) в адаптере? Как переходить к адаптеру или проходить через элементы?