2016-11-16 3 views
0

ListView непосредственно переходит к последнему элементу после добавления нового списка, который поступает из веб-службы. Он не поддерживает свое положение. Все работает нормально, но мой список ведет меня к последнему пункту. Используя setSelection и smoothScrollToPositionFromTop, я достиг этого, но он показывает прокрутку анимации. Я не хочу, чтобы это произошло. Я до сих пор пробовал код ниже:ListView напрямую переходит к последнему элементу

Примечание: в моем списке есть только текстовое изображение.

listview.setSelection(position); 

listview.smoothScrollToPositionFromTop(mylastPosition,0,0); 

И это

Ниже кода работы отлично, если список добавляется программно (хардкор) вместо того, чтобы получать список из веб-сервиса.

lv.setOnScrollListener(new AbsListView.OnScrollListener() { 
     @Override 
     public void onScrollStateChanged(AbsListView view, int scrollState) { 

     } 

     @Override 
     public void onScroll(AbsListView view, int firstVisibleItem, int firstVisibleItem, int totalItemCount) { 

      if(firstVisibleItem+firstVisibleItem>= totalCount) 
      { 
       //code for getting new list 
       loadNewDataFromWS(); 
      } 
    }); 

Это происходит потому, что я добавляю список в другой поток вместо основного потока?

+0

Вы пытаетесь сделать ленивую загрузку? –

+0

Я получаю новый список от asyncTask –

+0

Вы хотите загрузить больше элементов (следующая страница?) При прокрутке вниз? –

ответ

1

Я нашел решение во время просмотра видео в списке. и решение проблемы, установив в поле свойств transcriptMode со значением disabled.

android:transcriptMode = "disabled" - does not scroll 
android:transcriptMode = "normal" - scrolls to the bottom if last item is visible 
android:transcriptMode = "disabled" - always scrolls to the bottom 
Смежные вопросы