gpt4 book ai didi

java - Android GridView 滚动循环

转载 作者:太空宇宙 更新时间:2023-11-04 12:20:51 26 4
gpt4 key购买 nike

我正在使用一个 GridView ,在其中加载数据,并且我已经设置了当它滚动到底部时开始加载更多数据。问题是网格自己进入循环,因为当第一个数据加载或刚刚第二次添加到网格时。网格将其检测为“底部”并重新开始......我尝试添加一个 boolean 值来检测何时是第一次,但第二次总是启动循环。

这是我的滚动代码:

androidGridView.setOnScrollListener(new AbsListView.OnScrollListener(){
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)
{
if(firstVisibleItem + visibleItemCount >= totalItemCount){
EditText rl1 = (EditText) findViewById(R.id.editText);
new SearchTask().execute(rl1.getText().toString());
}
}

@Override
public void onScrollStateChanged(AbsListView view, int scrollState){

}
});

谢谢!

最佳答案

在 onScrollStateChanged 中,您可以检测用户是否滚动。有了这些信息,您就可以防止您遇到的问题。这是一个例子:

        static boolean userScrolled = false;

androidGridView.setOnScrollListener(new AbsListView.OnScrollListener(){
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)
{
if(userScrolled == true && (firstVisibleItem + visibleItemCount >= totalItemCount)){
EditText rl1 = (EditText) findViewById(R.id.editText);
new SearchTask().execute(rl1.getText().toString());
}
}

@Override
public void onScrollStateChanged(AbsListView view, int scrollState){
if(scrollState == OnScrollListener.SCROLL_STATE_TOUCH_SCROLL){
userScrolled = true;
}
}
});

关于java - Android GridView 滚动循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38868183/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com