我有一個(gè)要求,其中有一個(gè)具有不同類型的動(dòng)態(tài)表單,如獲取編輯文本、上傳圖像等。我面臨的問題是在遍歷所有情況時(shí)我必須將圖像上傳到服務(wù)器并在移動(dòng)到下一個(gè)類型之前獲取該 url。最后將表單數(shù)據(jù)發(fā)布到服務(wù)器。我嘗試將所有代碼放入線程中: new Thread(new Runnable() { @Override public void run() { //Code below with for loop } }).start();另外上傳圖片在 asnctask 中 for (int fieldIndex = 0; fieldIndex < section.getFields().size(); fieldIndex++) { switch (field.getType()) { case ("TextField"): //take data break; case ("Number"): //take data break; case ("image"): // UPLOAD to server and get that url in Asynctask break; } fieldIndex++; } // Once for loop done upload all data witb image url to server但它不是等待圖像 URL,而是迭代循環(huán),如果它沒有遞增,則再次調(diào)用上傳圖像函數(shù)。
3 回答

哆啦的時(shí)光機(jī)
TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
您可以先從列表中找到圖片并上傳到服務(wù)器,上傳成功后響應(yīng)保存圖片網(wǎng)址。然后使用 for 循環(huán)獲取所有數(shù)據(jù),并使用圖像 url 將所有數(shù)據(jù)上傳到服務(wù)器。

牛魔王的故事
TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊
由于您使用的是線程,因此可以延遲迭代,以便它可以在某種意義上等待:
Thread.sleep("2000");
或者您可以使用:
SystemClock.sleep("2000");
這是一個(gè)類似的功能,但忽略了 InterruptedException
添加回答
舉報(bào)
0/150
提交
取消