【问题标题】:Unable to implement Load More in Listview using AsyncTask android无法使用 AsyncTask android 在 Listview 中实现加载更多
【发布时间】:2014-11-20 15:03:39
【问题描述】:
我实现了一个带有“加载更多”Button 的ListView,当从本地数据库中提取数据时它工作正常。
在Activity 的开头,使用AsyncTask 获取前20 个元素。之后,当按下“加载更多”Button 时,必须使用服务器调用再次获取数据。但是,一旦使用AsyncTask 启动服务器调用,它就会显示一个错误,即AsyncTask 已经执行过一次并且无法执行两次。
我检查了文档,它说AsyncTask 只执行一次。那么我必须进行多个服务器调用以附加到我的ListView 中的选项是什么?
【问题讨论】:
标签:
android
android-listview
android-asynctask
fetch
【解决方案1】:
为您的 AsyncTask 创建一个新实例
private void loadSomeData() {
MyTask task = new MyTask();
task.execute();
}
privat void loadMore() {
MyTask task = new MyTask();
task.execute();
}
显然,有不同的方法可以做到这一点,但这是给你的想法。
你不能做的是创建你的任务的一个实例并重用它......
public class MyClass extends Activity {
MyTask task = new MyTask();
public void onCreate(Bundle bundle) {
...
task.execute()
}
private void loadMore() {
task.execute();
}
}