Android,如何将数据从主活动调用的异步任务传递到辅助活动?

时间:2011-07-10 22:21:19

标签: android android-activity android-asynctask

我的应用程序有一个主要活动“A”,一个辅助活动“B”(按下按钮时调用)。 在活动B启动之前,从活动A运行异步任务以从远程Web服务获取xml数据。 然后我如何将xml数据传递给活动B?我不能使用像

这样的东西
intent.putExtra("xmlData", xmlData);

因为,当intent启动时,xmlData为空,但是......

或者,我使用了错误的方法吗?我决定从活动A而不是B运行异步任务,因为我想我可以节省一些时间等待活动B中的远程数据......

2 个答案:

答案 0 :(得分:2)

如果网址相同,则将网址或唯一数据(如果网址相同)发送到活动B,从A到通过intent.putExtra(),并在创建B活动时使用AsyncTask获取数据。 onPreExecute中的progressDialog也可能就位。

然后,如果有任何类似的任务,您可以重复使用活动B.获取,解析和呈现。

答案 1 :(得分:0)

创建意图并在AsyncTask完成后在onPostExecute()内的startActivity中将其激活。

另外,xmlData是一个字符串吗?那很好,如果是这样,否则你需要实现Parcelable。顺便说一句,你应该小心你的标识符。传递给putExtra的标识符中的拼写错误或不正确的情况可能会导致您找不到它。