Поврежденные виды борта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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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