无法使用AsyncTask android在Listview中实现Load More

时间:2014-11-20 15:03:40

标签: android android-listview android-asynctask fetch

我实施了一个ListView,其中包含#34;加载更多" Button,当从本地数据库中挑选数据时,它可以正常工作。

Activity的开头,使用AsyncTask获取前20个元素。在那之后"加载更多"按下Button,必须使用服务器调用再次获取数据。但是,只要使用AsyncTask启动服务器调用,就会显示AsyncTask已经被执行过一次并且无法执行两次的错误。

我检查了文档,并说AsyncTask只执行一次。那么我有什么选择可以在我的ListView附加多个服务器调用?

1 个答案:

答案 0 :(得分: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();
    }
}