【发布时间】:2016-01-16 17:12:04
【问题描述】:
在我的应用程序中,我有一个方法旨在将新字符串放入第一个空索引中的字符串数组中。然后将其设计为在一个有十行的文本框中显示该数组。由于某种原因,这不起作用。我使用 Log 来显示 Logcat 中的数组内容,但这没有出现。所以我想我会来这里问是否有人能看到任何会导致它不起作用的明显错误?如果您需要更多详细信息,例如使用数组的类,请告诉我! :)
方法:
String playerInvTemp[] = thePlayer.getPlayerInv();
for (int i=0; i < playerInvTemp.length; i++)
{
if ((!playerInvTemp[i].isEmpty()) || playerInvTemp[i] == null)
{
thePlayer.setPlayerInv("Torch", i);
Log.i(tag,thePlayer.getPlayerInv(1));
playerInvTemp = thePlayer.getPlayerInv();
Log.i(tag,playerInvTemp[1]);
StringBuilder builder = new StringBuilder();
for (String s : playerInvTemp) {
builder.append(s + " ");
invText.setText(builder.toString());
}
break;
}
}
【问题讨论】:
-
“空索引”是指“空项目”。
-
您必须使用调试器逐步完成并查看发生了什么,因为您说日志未显示,所以我在想的是 playerInvTemp.length 为 0,而您的 for 循环永远不会迭代,也许你的 thePlayer.getPlayerInv() 没有返回任何东西
-
可能不是。此时在程序中它应该只有十个空字符串,但它仍然会返回 {"","","" etc.},不是吗?
-
这就是问题所在(对于 (int i=0; i
-
只有在找到一个空项目时,您的方法才会显示连接的数组(为什么不简单地使用
join()?)。 id 会为找到的每个空项目继续这样做。
标签: java android arrays methods