Поврежденные виды бортаAndroid

Форум для тех, кто программирует под Android
Anonymous
Поврежденные виды борта

Сообщение Anonymous »

Я заметил эту проблему давным -давно, но только сейчас я смог подготовить демонстрацию, которая явно воспроизводит его. Проблема представлен на эмуляторе 2.1, а на моем устройстве ICS 4.0.3. Это должно скрыть значок обновления. Это работает ОК, пока я не изменяю модель данных ListView и вызову NotifyDatasetchAnged на адаптере. После такого действия действия действия может иметь сломанное представление. /> < /p>
сломанный вид (последний элемент исчезает навсегда или пустое пространство, добавленное в некоторых случаях):


Причинный код находится в onpostex
. Class = "Lang-Java PrettyPrint-Override"> @Override
protected void onPostExecute(Void result)
{
super.onPostExecute(result);
for (int i = 0; i < 10; i++)
{
adapter.items.add(i);
}
adapter.notifyDataSetChanged();
activity.stopLoading();
}
...
void stopLoading()
{
if (loaders.decrementAndGet() == 0)
{
setSupportProgressBarIndeterminateVisibility(false);
invalidateOptionsMenu();
}
}
< /code>
Любая идея, почему это происходит и в большинстве случаев из -за обновления адаптера ListView (или, возможно, некоторых обновлений по просмотру)? Если я удалю линейный адаптер.notifyDatASetchAnged (); ActionBar не будет сломана в демонстрации. Но в реальном приложении это может быть нарушено из -за другой причины (не может определить именно все причины проблемы)
открытый Actionbarsherlock. Выпуск: https://github.com/jakewharton/actionba ... issues/887 твоя/> upd:
сохранить копание по этому вопросу. Кажется, что не совсем adapter.notifydatasetchAnged () вызывает недействительный внешний вид, но вызов requestLayout с помощью adapterView.adapterDatasetobserver, который прислушивается к изменению набора данных в ListView < /p>
. Handler.post. Но он заставляет использовать даже пользовательскую реализацию FragmentPagerAdapter, который называет Fragment.SethaSoptionsMenu в задержке обработчика. Post
Я хочу найти наиболее эффективный способ аннулировать представление и бор.>

Подробнее здесь: https://stackoverflow.com/questions/159 ... onbar-look

Вернуться в «Android»