【问题标题】:Unable to implement Load More in Listview using AsyncTask android无法使用 AsyncTask android 在 Listview 中实现加载更多
【发布时间】:2014-11-20 15:03:39
【问题描述】:

我实现了一个带有“加载更多”ButtonListView,当从本地数据库中提取数据时它工作正常。

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();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-05
      • 1970-01-01
      • 1970-01-01
      • 2012-09-17
      相关资源
      最近更新 更多