Android 无法使用AsyncTask在Listview中实现加载更多

Android 无法使用AsyncTask在Listview中实现加载更多,android,android-listview,android-asynctask,fetch,Android,Android Listview,Android Asynctask,Fetch,我实现了一个带有“加载更多”按钮的ListView,当从本地数据库中提取数据时,它可以正常工作 在活动开始时,使用AsyncTask获取前20个元素。之后,当按下“加载更多”按钮时,必须使用服务器调用再次获取数据。但是,一旦使用AsyncTask启动服务器调用,就会显示一个错误,AsyncTask已经执行了一次,不能执行两次 我检查了文档,它说AsyncTask只执行一次。那么,我必须进行多个服务器调用才能在我的列表视图中追加什么选项?为您的异步任务创建一个新实例 private void lo

我实现了一个带有“加载更多”按钮的
ListView
,当从本地数据库中提取数据时,它可以正常工作

活动开始时,使用
AsyncTask
获取前20个元素。之后,当按下“加载更多”
按钮时,必须使用服务器调用再次获取数据。但是,一旦使用
AsyncTask
启动服务器调用,就会显示一个错误,
AsyncTask
已经执行了一次,不能执行两次


我检查了文档,它说
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();
    }
}