2015-03-11 2 views
0

Я пишу код, где мне нужно проверить, отображается ли первый элемент для расширяемого списка.Проверьте, отображается ли первый элемент с расширимым списком

Для этого я проверил с AbsListView.OnScrollListener.onScroll(..firstItem, visibleItemCount..), но он не работает точно, если список расширяется.

Также есть способ идентифицировать, если первый элемент полностью виден.

Любое предложение здесь!

ответ

0

После решения работало для меня:

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

     if(expListView.getChildAt(firstVisibleItem) != null) { // 1 
      int top = expListView.getChildAt(firstVisibleItem).getTop(); 

      if(top >= 0) { // 2 
       if(this.firstVisibleItem != firstVisibleItem) { // 3 
        if(view != null){ 
         this.firstVisibleItem = firstVisibleItem; 
        } 
       } 
      } 
     } 
    } 
  1. Убедитесь деталь видимого вида не является нулевой.
  2. Проверьте движение в направлении первого отображаемого элемента. то есть только для первого элемента списка, который я проверяю, вы можете удалить эту опцию.
  3. Отменить тот же запрос элемента: это важно для выполнения другого, вы получите несколько вызовов.