在我的Android应用程序中,我有一个listview.which是从json文件中填充的,我在向服务器发送一个rest api后得到了这个文件。 现在我想一次只显示列表中的20个项目(一次只从服务器获取20个项目) 现在说更多项目要显示我想拖动列表视图以填充更多。 喜欢gmail android app。
任何人都可以告诉我这样做的正确程序。我如何通过视觉效果实现这种功能。
请帮助
答案 0 :(得分:0)
Chris Banes(实现Android最佳刷新组件的同一个人)也实现了像Pull To Refresh这样的GMail。
你可以找到它here
请注意,此项目仍处于开发阶段,因此当前的API可能会发生变化。
答案 1 :(得分:0)
一种非常简单的方法:
您可以创建一个扩展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);
}
实现一个侦听器接口,以便在刷新listview时得到通知。 您可以查看我的blog,其中详细介绍了如何创建此组件。