我有一個while循環,它將使用Buffered Reader讀取的元素添加到ArrayList中。該循環工作正常,除非它完成,應用程序似乎並沒有繼續前進。相關的代碼是:循環結束,但不是
int ctr = 1;
while((test = bf.readLine()) != null)
{
Log.i(TAG, test);
users.add(test);
Log.i(TAG, "" + (ctr++));
}
Log.i(TAG, "Loop done.");
循環中的兩個日誌語句每個執行4次,這是正常行爲。但是,循環後面的語句不會執行。就像它被卡住了一樣。我很確定它不會進入循環,因爲裏面的兩個日誌語句不再執行。
bf是BufferedReader,用戶是ArrayList。
logcat的輸出:
08-04 01:35:37.472: I/UM(2937): UserInfo{0:Primary:3}
08-04 01:35:37.472: I/UM(2937): 1
08-04 01:35:37.476: I/UM(2937): UserInfo{1:Test1:0}
08-04 01:35:37.476: I/UM(2937): 2
08-04 01:35:37.476: I/UM(2937): UserInfo{2:test2:0}
08-04 01:35:37.480: I/UM(2937): 3
08-04 01:35:37.480: I/UM(2937): UserInfo{3:testxyz:0}
08-04 01:35:37.480: I/UM(2937): 4
沒有任何人有任何想法我(可能是愚蠢的)錯誤是什麼?
您可以包含日誌語句嗎?另外,你說「循環中的兩個日誌語句每次執行4次」和「內部的兩個日誌語句不執行」 - 這是什麼? – Benoir 2012-08-03 20:14:27
我的意思是,它們按預期執行4次,並且執行次數不超過4次,這讓我相信循環不會再運行了。 – 2012-08-03 20:15:13
當您使用調試器遍歷代碼時,您發現了什麼? – 2012-08-03 20:15:14