когда система вызывает функцию getview адаптера

1

Я хочу знать, когда будет вызвана функция getView, если я хочу обновить listview и не знаю, как это сделать. что-то вроде, в спискеView есть 7 элементов, и теперь я хочу изменить его на 7 других дат и изображений.

Теги:
listview
adapter

2 ответа

1
Лучший ответ

Если вам требуется прокрутка в программном виде, вы можете использовать smoothScrollToPosition, но он поддерживается только в API 8 и выше.

  • 0
    Спасибо за ваш ответ, я использую метод smoothscrollToPosition, но в результате он показывает больше новых элементов, но только еще 3, и хотя изображения изменились. я не могу получить больше, и я могу смоделировать фон элемента, потому что я не знаю, как получить вид элемента, поможет ли getChildAt (position)? это покажет мне исключение нулевого указателя ... спасибо
  • 0
    Я обнаружил, что это работает, спасибо много
0

обновить вызов списка

Adapter.NotifyDataSetChanged()

РЕДАКТИРОВАТЬ

обычно элемент списка списка будет иметь такую же высоту, если вы можете рассчитать высоту и позвонить

ListView.scrollBy(x, y);

даже просто вы можете позвонить

ListView.smoothScrollToPosition(position); 

если вы знаете позицию

listview должен отображать новые элементы, добавленные вами в адаптер (если вы вызываете notifydatasetchanged())

  • 0
    Спасибо за столь быстрый ответ, но возникает проблема в том, что NotifyDataSetChanged () полезен при изменении данных в адаптере? Но в моем случае данные в адаптере не изменятся, я поместил в него 50 элементов, а в списке просмотра можно отобразить только 10 элементов, теперь я хочу показать следующие 10 элементов, как я могу это сделать? спасибо снова.
  • 0
    smoothScrollToPosition (position), вероятно, добавит еще три элемента. Не знаю почему, мне кажется, что он отображает только те виды, которые он создает вначале ..
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню