我有一个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