我有以下問題:從webservice收到數據後開始新活動
在我的活動中,我調用了一個web服務。一旦收到數據,我就想開始下一個活動。就像現在一樣,該活動在我打電話給我的AsyncTask
後立即開始。
這是它的樣子:
new PositionRequest().execute(lineNr);
Intent intent = new Intent(this, DataTableCreater.class);
intent.putExtra("RequestData", detailList);
startActivity(intent);
detailList
是一個ArrayList,是可以獲得它在AsyncTask
的onPostExecute()
數據。
我嘗試了一些boolean finished=false;
,它得到的onPostExecute()
真實,把startActivity
成
while(!finished){
try{
wait(500);
}catch(Exception e){
}
循環,這是當然的甚至還沒有接近一個很好的解決方案。如果調用失敗,則結束,我陷入無限循環。
所以,我怎麼能有我startActivity()
等待,直到得到了接收的所有數據?因爲否則我得到一個NullPointerException
,因爲我的intent.getStringArrayExtra()
在DataTableCreater活動。
我在this一看,但對我沒有任何幫助。
如果您需要更多的代碼或信息,請在評論中告知我,我將添加它們。
編輯1:
我忘了補充一點,我需要啓動的AsyncTask外的活動,因爲我有平行的第二線程。在我開始活動之前,我需要完成這兩件事。兩者都需要大致相同的時間完成,所以我不能說,哪一個先完成,然後從另一個AsyncTask開始活動。
請參閱我的第一個編輯,但是非常感謝 –
查看我更新的答案。 @AndroidRookie – Andrain