2013-07-22 40 views
1

我必須創建一個封閉的圓形列表視圖。列表視圖中使用從第一個項目向上滾動時轉到列表視圖的最後一項

@Override 
    public int getCount() { 
     return Integer.MAX_VALUE; 
    } 

無限次向下移動,但我需要的時候向上滾動,這樣一個感覺作爲一個循環鏈表搞到名單的最後一個項目。

我試過ListView.setSelection(1+(arraylist.size()*100));但它只要適配器設置就會工作。它只在設置爲

circularListAdapter = new CircularListAdapter(adapter); 
     threeDListView.setAdapter(circularListAdapter); 
    Handler handler1 = new Handler(); 
      handler1.postDelayed(new Runnable() { 

       @Override 
       public void run() { 


        threeDListView.setSelection(1+(smpl.size()*100)); 
        adapter.notifyDataSetChanged(); 
       } 
      },1500); 

當延遲小於1500時不起作用。這個延遲會導致列表在列表顯示後跳過一秒。有沒有其他方法可以滾動到第一項中的最後一項?

+0

不要自己擔心這個問題,請檢查一下:http://stackoverflow.com/a/4940073/2544584 Goodluck! –

+0

但在這種情況下,我也必須設置延遲或它不會工作。 –

回答

1

使用try,

threeDListView.setItemChecked(position, true); 
threeDListView.smoothScrollToPosition(position); 

這使你的ListView動畫並移動到選定的任何位置。

相關問題