Android 两个不同的 AsyncTask 并且有不同的 putParcelableArrayList 那么如何将 Intent 放在一起
Posted
技术标签:
【中文标题】Android 两个不同的 AsyncTask 并且有不同的 putParcelableArrayList 那么如何将 Intent 放在一起【英文标题】:Android Two different AsyncTask and that have different putParcelableArrayList then how to Intent together 【发布时间】:2019-03-19 11:12:19 【问题描述】:1.这是我的执行顺序
SplashActivity :两个 AsyncTask (每个都有不同的结果,当每个 AsyncTask Parsing 和 putParcelableArrayList 完成时,我想 Intent 到下一个 Activity。
MainActivity : 从 SplashActivity 获取 ParrcelableArrayList
另外
-已经在模型类中实现了parcelable。
-数组中的值保存的很好。
2。我的答案
每个AsyncTask编译putParcelableArrayList时如何Intent和startActivity
请,需要你的帮助!! 如果不明白,请写评论!
【问题讨论】:
一个一个地执行你的异步任务,当第二个任务完成时,将你的可打包数据合并到一个意图中并将其传递给下一个活动 所以你只想在异步任务都完成时才传递意图,对吧? @KiranMalvi 你的权利,我想在 AsyncTask 的 Parcelable Array 中执行每个 put Values 完成后,立即启动到下一个 Activity。 @VivekMishra 如何将我的可打包数据合并到一个意图中?你能给我举个例子吗? 从你的第一个 asynctask 中保留你的 parcelable 列表的全局引用,并在你的第二个 asynctask 中使用它' 【参考方案1】:有两种可能的方法来实现这一点,
一种方式,您可以在第一个的 onPostExecute
中调用第二个 AsyncTask,然后从第二个的 onPostExecute
调用意图。
另一种方法是您可以调用一些通用方法,该方法将设置两个 boolean
全局参数,在第一个 AsyncTask 完成时,使一个 boolean
以相同的方式为另一个,一旦两个值都为真,您可以从中调用意图方法。
【讨论】:
这是我的代码!首先请检查我的 put 并获取捆绑包。放置并获得可打包价值的代码是正确的吗? [SplashActivitiy] 捆绑dailyBundle = new Bundle(); dailyBundle.putParcelableArrayList("dailyRank", mDailyItem); [MainActivity] 捆绑 dailyBundle = getIntent().getExtras(); mDailyItem = dailyBundle.getParcelableArrayList("dailyRank");并且为了您的评论 1. onPostExecute 中的 First AsyncTask 中的第二个 AsyncTask 2. 其中两个检查完成每个 Asynctask 状态。如果两个值都为真,那么调用意图对吗?对不起,我的英语不好。 谢谢您的回答!!我通过你的回答解决了这个问题。 [有两种可能的方式来实现,一种方式,你可以在第一个的onPostExecute中调用第二个AsyncTask,然后从第二个的onPostExecute调用intent。]以上是关于Android 两个不同的 AsyncTask 并且有不同的 putParcelableArrayList 那么如何将 Intent 放在一起的主要内容,如果未能解决你的问题,请参考以下文章
从两个不同的 AsyncTask 更新一个 ListView
Android 多线程 AsyncTask 完成后台任务并反馈给UI
Android多线程的四种方式:Handler、AsyncTask、ThreadPoolExector、IntentService