java - 定时两个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 方法所需的时间上保持同步。你如何建议我去完成这个。
解决方案
您可以将 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);
}
}
推荐阅读
- java - Executor 代替 ExecutorService 有什么场景吗?Executor 接口背后的意图?
- java - JavaFx 宽度动画过渡与动画
- vue.js - 如何在 vuelidate 中使用 $each.$iter
- bash - 当信号被捕获时,三通管道在结束前被杀死
- php - Wordpress Admin Ajax 400(错误请求)
- java - 如果目录中没有发生事件,WatchService 是否有任何构建用于超时的 api
- google-chrome - 谷歌浏览器的开发工具中有滴管工具吗?
- clojure - 我的数据有复杂的规范 - 如何生成样本?
- python - 如何将值与熊猫中groupby中的先前值进行比较
- android - 谷歌语音输入离线功能