Страница 1 из 1

Добавление в начало LISTVIEW

Добавлено: 28 янв 2014, 18:35
Артем Дегтев
Подскажите, если кто то знает как добавить в начало списка, что бы все остальные компоненты остались и не сдвинулись на экране.

То есть - например: у меня есть список из 10 элементов, они отображаются на экране с начала, то есть скролинг вверх невозможен. По нажатию на кнопку, мне должно добавиться еще 10 в начале списка ну и уже после этого я могу скролить вверх.

Re: Добавление в начало LISTVIEW

Добавлено: 28 янв 2014, 19:27
anber
http://stackoverflow.com/questions/1559 ... iew-scroll

работает, но только если в листвью не пустого места, т.е. оно полностью заполняет отведенную под него область.

Re: Добавление в начало LISTVIEW

Добавлено: 28 янв 2014, 19:40
Артем Дегтев
Я уже нашел эту статью и сделал почти так же...теперь остается проблема, что бы при добавление компонентов, список на экране не менял позицию свою. Если кто то знает как реализовать то подскажите)

Re: Добавление в начало LISTVIEW

Добавлено: 28 янв 2014, 23:46
anber
Артем Дегтев писал(а):Я уже нашел эту статью и сделал почти так же...теперь остается проблема, что бы при добавление компонентов, список на экране не менял позицию свою. Если кто то знает как реализовать то подскажите)
при добавлении описанным образом список на экране не меняет позиции своей.

Re: Добавление в начало LISTVIEW

Добавлено: 29 янв 2014, 00:29
Артем Дегтев
anber писал(а):
Артем Дегтев писал(а):Я уже нашел эту статью и сделал почти так же...теперь остается проблема, что бы при добавление компонентов, список на экране не менял позицию свою. Если кто то знает как реализовать то подскажите)
при добавлении описанным образом список на экране не меняет позиции своей.
Спасибо, буду исправлять свое, то я сделал просто инсерт, при этом изменяет) Спасибо

Re: Добавление в начало LISTVIEW

Добавлено: 29 янв 2014, 00:37
anber
да, там все надо:

Код: Выделить всё

    int index = this.commentsListView.getFirstVisiblePosition() + comments.size();
    View v = this.commentsListView.getChildAt(0);
    int top = (v == null) ? 0 : v.getTop();         

    this.commentsListViewAdapter.AddRangeToTop(comments);
    this.commentsListViewAdapter.notifyDataSetChanged();    

    this.commentsListView.setSelectionFromTop(index, top);