我的应用程序有一个主要活动“A”,一个辅助活动“B”(按下按钮时调用)。 在活动B启动之前,从活动A运行异步任务以从远程Web服务获取xml数据。 然后我如何将xml数据传递给活动B?我不能使用像
这样的东西intent.putExtra("xmlData", xmlData);
因为,当intent启动时,xmlData为空,但是......
或者,我使用了错误的方法吗?我决定从活动A而不是B运行异步任务,因为我想我可以节省一些时间等待活动B中的远程数据......
答案 0 :(得分:2)
如果网址相同,则将网址或唯一数据(如果网址相同)发送到活动B,从A到通过intent.putExtra(),并在创建B活动时使用AsyncTask获取数据。 onPreExecute中的progressDialog也可能就位。
然后,如果有任何类似的任务,您可以重复使用活动B.获取,解析和呈现。
答案 1 :(得分:0)
创建意图并在AsyncTask完成后在onPostExecute()内的startActivity中将其激活。
另外,xmlData是一个字符串吗?那很好,如果是这样,否则你需要实现Parcelable。顺便说一句,你应该小心你的标识符。传递给putExtra的标识符中的拼写错误或不正确的情况可能会导致您找不到它。