【发布时间】:2017-03-19 00:58:21
【问题描述】:
有人可以帮我我在滚动 GridView 时遇到问题我所做的是我从 API 显示 GridView 中的前 10 个产品。现在我需要的是 - 当用户滚动并获取列表的最后一个位置时然后 API 再次以页面值 2 命中 .. 滚动显示从用户所在的当前位置.. 现在显示数据并且适配器更改其值.. 但是当新 API 命中时滚动显示在顶部......可以任何人请告诉我要做什么???真的很感激请帮忙..
我做什么 -
grid.setOnScrollListener(new AbsListView.OnScrollListener() {
int last_item;
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
int lastitem = firstVisibleItem + visibleItemCount;
if(lastitem == totalItemCount){
HitApi();//This is the method where API hits with the new page value
}
}
});
xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<GridView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/products_GridView"
android:numColumns="auto_fit"
android:listSelector="@android:color/transparent"
android:verticalSpacing="1dp"
android:horizontalSpacing="1dp"
>
</GridView>
</LinearLayout>
【问题讨论】:
-
我真的不明白你的目标是什么!当用户导航到另一个活动并返回到 gridView 活动时,您是否需要保存滚动位置?页面值 2 是什么意思?你能给我们看一个更能描述情况的演示或屏幕截图吗
-
不,我不打算进行下一个活动.. 只是我的适配器数据会随着新值的变化而变化,并且每次滚动和数据更改时,滚动都位于顶部。它将从新数据加载或添加到列表的位置开始
-
我会假设你正在使用滚动视图对吗?它在线性布局中吗?请与我们分享您的 xml
-
我使用的是简单的 Gridview。请检查
-
还包括您的 notifyDataSetChanged() 如果它是您用来更新列表的方式或包括列表更新方法:)
标签: android scrollview android-view scroll-position