首页 > 解决方案 > 定时两个Fragment中的AsyncTask onPostExecute方法在android中同时完成

问题描述

我有两个 Android 片段(片段 A 和片段 B),片段 A 和片段 B 都执行 AsyncTask,该任务随后通过调用 API 填充 listView,效果很好。但是,listView 是 Fragment A 的填充时间比 Fragment B 中的 listView 需要更长的时间,我需要 Fragment B listView 和 Fragment A listview 在完成 AsyncTask onPostExecute 方法所需的时间上保持同步。你如何建议我去完成这个。

标签: javaandroidlistviewandroid-fragments

解决方案


您可以将 onPostExecute() 之后的 Asynctasks 的结果保存在变量中,并调用一个函数来检查两个变量是否都已初始化,如果是,则可以进行将列表设置为列表视图的操作。

喜欢,


    List<String> fragAList,fragBList;

    public void saveFirstList(List<String> data){
        fragAList=data;
        updateLists();
    }

    public void saveSecondList(List<String> data){
        fragBList=data;
        updateLists();
    }

    public void updateLists(){
        if(fragAList!=null && fragBList!=null){
            setDataToListViews(fragAList,fragBList);
        }
    }


推荐阅读