2016-03-21 25 views
0

我試圖增加滾動列表末尾的整數值。如果我有5個數字,並在列表視圖的最後一個項目的末尾滾動,那麼我必須檢查並向上滾動5次,直到滿足條件。如何使用Android ListView setOnScrollListener?

這裏是我的代碼

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

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

        lastInScreen = firstVisibleItem + visibleItemCount; 
        //Log.e("","lastInScreen="+lastInScreen); 
        if(lastInScreen == totalItemCount) 
        { 
         Toast.makeText(getApplicationContext(), "Your Last Item." + lastInScreen , Toast.LENGTH_SHORT).show(); 
         if(num < 5) 
         { 
          num += 1; 

          Log.e("","num = "+num); 
         } 
         if(num == 5) 
         { 
          Log.e(""," Stop Scrolling!!! "); 
         } 
        } 
       } 
      }); 

但問題是,當我滾動第一次在ListView項結束當時num最多增加到5在時間像for循環,我不希望對此。我想如果我先滾動num增加1,如果我再次滾動,num增加2,因爲它達到最大值5.

回答

0

嘗試保存「firstVisibleitem」,如果它是相同的,請不要不做這筆錢。

int X=-1; 
listView.setOnScrollListener(new AbsListView.OnScrollListener() 
      { 
       @Override 
       public void onScrollStateChanged(AbsListView view, int scrollState) {} 

       @Override 
       public void onScroll(AbsListView view, int firstVisibleItem, 
            int visibleItemCount, int totalItemCount) 
       { 
        lastInScreen = firstVisibleItem + visibleItemCount; 
        //Compare X with the firstVisibleItem (if X is -1, it always go for false, if X is not -1 X will be the last first visible item 
        if(X!=firstVisibleItem) 
        { 
         if(lastInScreen == totalItemCount) 
         { 
          Toast.makeText(getApplicationContext(), "Your Last Item." + lastInScreen , Toast.LENGTH_SHORT).show(); 
          if(num < 5) 
          { 
           num += 1; 
           Log.e("","num = "+num); 
          } 
          if(num == 5) 
          { 
           Log.e(""," Stop Scrolling!!! "); 
          } 
         } 
        } 
        //Set the value of this firstVisibleItem to X 
        X=firstVisibleItem; 
       } 
      }); 
+0

謝謝,它的工作很棒! – jandroid

相關問題