我試圖從Post類中填充圖像URL的數組,但活動返回空白頁。我做對了嗎?對不起,我正在學習android不太瞭解。使用for循環將數據加載到數組中android
ArrayList PostDetails = new ArrayList();
for (int index=0;index<imageUrls.length;index++){
imageUrls[index]=PostDetails.get(index).getImag();
}
我試圖從Post類中填充圖像URL的數組,但活動返回空白頁。我做對了嗎?對不起,我正在學習android不太瞭解。使用for循環將數據加載到數組中android
ArrayList PostDetails = new ArrayList();
for (int index=0;index<imageUrls.length;index++){
imageUrls[index]=PostDetails.get(index).getImag();
}
你應該等到任務完成後,你可以把最後部分onPostExecute
方法..
protected void onPostExecute() {
String[]imageUrls= new String[PostDetails.size()];
for (int index=0;index<imageUrls.length;index++){
imageUrls[index]=PostDetails.get(index).getImag();
}
}
通過努努的答案是正確的,但我想給它一個擴大小。假設loadingTask
是AsyncTask
,因此當您撥打execute
時,doInBackground
內的代碼將異步執行。您創建並填充陣列的代碼將與您的人口PostDetails
並行執行,我假設其填充在loadingTask
內。由於數組循環將非常快速地執行,因此在通過loadingTask
執行網絡操作之前它已經完成。因此,您的頁面是空白的,因爲在填充了PostDetails
之前,您已通過陣列循環。
解決方案與Nunu建議的一樣,即將imageUrls
陣列的人口遷移到AsyncTask
的onPostExecute
方法中。此外,使用此數組的任何UI操作也應移至onPostExecute
。