在我的Android應用程序,我有一個listview.which填充從JSON文件,我收到後發送休息API到服務器。 現在我只想顯示一次只能在列表中顯示20個項目(一次只能從服務器獲取20個項目) 現在說更多要顯示的項目我想拖動列表視圖以填充更多項目。 像gmail android應用程序。刷新列表視圖上拖動或向上像Gmail或Facebook
任何人都可以告訴我正確的程序來做到這一點。我如何實現這種視覺效果的功能。
請幫助
在我的Android應用程序,我有一個listview.which填充從JSON文件,我收到後發送休息API到服務器。 現在我只想顯示一次只能在列表中顯示20個項目(一次只能從服務器獲取20個項目) 現在說更多要顯示的項目我想拖動列表視圖以填充更多項目。 像gmail android應用程序。刷新列表視圖上拖動或向上像Gmail或Facebook
任何人都可以告訴我正確的程序來做到這一點。我如何實現這種視覺效果的功能。
請幫助
一個非常簡單的方法: 您可以創建一個擴展ListView小部件的自定義組件。 在這個自定義組件中,您可以在用戶觸摸屏幕時實現您的邏輯。所以你必須重寫onTouchEvent(MotionEvent event)
。 類似的東西
@Override
public boolean onTouchEvent(MotionEvent event) {
//System.out.println("First ["+this.getFirstVisiblePosition()+"]");
float y = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE: {
if ((y - startY) > THRESHOLD && STATE_REFRESH_ENABLED && !STATE_REFRESHING) {
if (listener != null) {
listener.onRefresh();
STATE_REFRESHING = true;
}
}
}
break;
case MotionEvent.ACTION_DOWN: {
startY = y;
STATE_REFRESH_ENABLED = getFirstVisiblePosition() == 0; // We are on the first element so we can enable refresh
}
case MotionEvent.ACTION_UP: {
STATE_REFRESHING = false;
}
}
return super.onTouchEvent(event);
}
並實施監聽器接口得到通知時,它是時間刷新列表視圖。 你可以看看我的blog,我詳細介紹瞭如何創建這個組件。
功能被命名爲'pull-to-refresh',你可以找到很多提供這個功能的庫。例如。 https://github.com/chrisbanes/Android-PullToRefresh –