2012-02-09 36 views
0

您好我正在開發一個android應用程序。我在我的一些活動中使用了listview。android listview分頁實現

問題是我的所有列表瀏覽顯示的時間要長得多,以至於用戶需要滾動整個列表才能找到最後一個項目。

我試圖爲此實現一個分頁,就像第一次說只需要在列表視圖中顯示20個項目一樣。在我的列表視圖的末尾,我需要一個標題欄,其中有下一個&以前的按鈕,點擊下一個按鈕時,列表視圖將加載從第21個到第40個的下一個記錄,依此類推。

正在使用java rest webservice加載列表視圖。

任何人都可以給我一個很好的建議來解決我的問題。

+0

你可以檢查這個問題[如何在Android列表視圖中實現分頁](http://stackoverflow.com/a/16661802/1265724) – 2013-05-21 03:56:16

回答

0

我建議比你在擴展BaseAdapter類的自定義適配器類加載列表數據。像@oriolpons建議的那樣,你應該添加一個頁腳視圖,並且當你點擊按鈕後再調用某個方法,例如20行,然後將它們添加到適配器對象中並調用notifyDataSetChanged()。

例如

private OnClickListener mListener = new OnClickListener() { 

    public void onClick(View v) { 
     ArrayList<YourObject> al = getSomeData(int startRow, int endRow); 
        MyCustomAdapter adapter = new MyCustomAdapter(); 
        for(YourObject a : al) 
         adapter.add(a); 
         getListView.setAdapter(adapter); 
         notifyDataSetChanged(); 
    } 
}; 

希望這有助於。

1

解決方案1:

您可以加載所有的數據在一次如果不是太多,本地存儲它&,那麼你可以在本地存儲的數據進行導航。定義一些變量,如StartPoint & EndPoint &從存儲的數據中獲取所需的數據。通過使用PreviouButton & NextButton遞增遞減減少StartPoint & EndPoint的值。

解決方案2:

從數據源獲取只有所需的數據例如每個被點擊的導航按鈕時的時間的10條記錄。

+0

我知道這些是我需要做的事情來實現分頁。但我想知道的是我可以如何在android中完成此操作。 – 2012-02-09 10:30:39

0

最簡單的解決方案是將一個頁腳視圖添加到列表視圖。關於這一項目的點擊監聽器,你可以看到,如果它是最後一個位置(裝載更多的物品),或不

//add the footer before adding the adapter, else the footer will not load! 

View footerView = ((LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.listfooter, null, false); 

this.getListView().addFooterView(footerView); 
0

這可能是你的一長串的解決方案..

請去這個link

希望這將有助於

DreamCoder