Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android listview频繁发出请求_Java_Android_Android Layout_Listview - Fatal编程技术网

Java Android listview频繁发出请求

Java Android listview频繁发出请求,java,android,android-layout,listview,Java,Android,Android Layout,Listview,在我的Android应用程序中,我使用的是PulltoRefresh库listview()。现在我已经实现了页脚加载器的概念(当listview到达页脚时加载数据)来从服务器加载数据 但我需要不断地请求,直到我的活动创建后收到全部数据为止(即,当我收到前20个数据时,我需要请求服务器提取下20个数据,然后继续) 有人能告诉我,有没有什么方法或侦听器可以在没有用户交互的情况下同时调用 我想你想要这样的东西。 首先调用主AsyncTask并在执行后设置适配器并检查 if(list.size() ==

在我的Android应用程序中,我使用的是PulltoRefresh库listview()。现在我已经实现了页脚加载器的概念(当listview到达页脚时加载数据)来从服务器加载数据

但我需要不断地请求,直到我的活动创建后收到全部数据为止(即,当我收到前20个数据时,我需要请求服务器提取下20个数据,然后继续)


有人能告诉我,有没有什么方法或侦听器可以在没有用户交互的情况下同时调用

我想你想要这样的东西。 首先调用主AsyncTask并在执行后设置适配器并检查

if(list.size() == offset)
{
    loadmore = true;
    offset += offset;
} else {
    loadmore = false;
}  
在同一postExecute函数中,如果boolean loadmore为true,则再次调用AsyncTask,但这次使用notifyDataSetChanges,而不是在postExecute中设置适配器,并再次重复整个过程。
根据您的需要,偏移量可以是20或更多。您可以有两个不同的AsyncTask,也可以有一个带有相应标志的AsyncTask。这样,数据将自动下载,直到它结束,您不需要每次都设置适配器

为什么只得到前20个元素而不是完整的数据?请解释一下。20只是一个偏移值。它可能是10,15,等等。。我不想使用footerloader,而是希望异步加载所有数据,同时任何用户都可以在listview中加载所有数据之前查看特定数据