2010-02-27 3 views
14

У меня есть список, который заполняется обычным ArrayAdapter.Android notifyDataSetChanged

Я хочу обновить индикатор выполнения каждую секунду, поэтому я пытаюсь использовать notifyDataSetChanged(), чтобы перерисовать список, но он, похоже, не работает.

ответ

14

Как вы обновляете структуру данных , которая подает ArrayAdapter?

Пожалуйста, смотрите мой ответ здесь: notifyDataSetChanged example

по вопросам, касающимся ArrayAdapters и обновления List, который содержит данные для notifyDataSetChanged работать.

2

Если вы не вызываете это из основного потока, попробуйте, чтобы основной поток вызывал эту функцию. Обычно это проблема, когда notifyDataSetChanged не обновляет фактическое содержимое экрана.

+0

, если вызов из обработчика? должен ли он работать? – xger86x

+0

Я так считаю, всякий раз, когда мне приходится обновлять мою графику, создавайте поток, я отправляю сообщение обработчику, который я создаю в своем основном представлении. – snctln

+4

, пожалуйста, укажите пример, как назвать это из основного потока –

0

Возможно, у меня есть ответ. Попробуйте это:

((BaseAdapter) arrayAdapter).notifyDataSetChanged(); 

У меня была такая же проблема, и это было решение моих :)