2016-03-21 26 views
0

Liste sonunda kaydırmada bir tamsayı sayısının değerini artırmaya çalışıyorum. Listede 5 sayım varsa ve son öğenin sonunda kaydırıyorsa o zaman kontrol etmeliyim ve durumun yerine getirilinceye kadar 5 kata kadar kaydım. İşte Android ListView ile çalışma nasıl ayarlanır setOnScrollListener?

kodum

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!!! "); 
         } 
        } 
       } 
      }); 

olduğu Ama numfor döngü gibi anda 5 adede kadar artırılır o zaman listview öğenin sonunda ilk defa kaydırırken sorundur ve ben istemiyorum buna. Ben tekrar kaydırma eğer ilk num o 5.

cevap

0

bir Maksimum sayı kadar olduğu gibi num 2 oranında artırılır, 1 artırılır kaydırma eğer istediğim, bu şey aynıysa, Don "firstVisibleitem" tasarruf ve deneyin Toplamı yapmayın.

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

Teşekkürler, harika çalışıyor! – jandroid

İlgili konular