gpt4 book ai didi

Android:代码行为疯狂

转载 作者:行者123 更新时间:2023-11-29 14:06:17 26 4
gpt4 key购买 nike

我在尝试在 eclipse 上为 android 开发时遇到了一个非常奇怪的问题

我的程序总是返回无意义的语句,所以我尝试调试它。

现在我明白问题出在哪里了.........代码的行为真的很疯狂——这绝对不合逻辑

这是我的代码:

ArrayList<String[]> formatedVerses = readAndSplitDatabaseFile(database, books);

if (formatedVerses.size() < 1) { // check if readAndSplitDatabaseFile worked
createDatabase(database, false); // if not. the database wasnt initialized
formatedVerses = readAndSplitDatabaseFile(database, books); // try again
}

return formatedVerses;

基本上我创建了这个 ArrayList

但是当我调试时,它不只是从上到下遍历代码,它会进行奇怪的不合逻辑的跳跃

调试器到达行:

ArrayList<String[]> formatedVerses = readAndSplitDatabaseFile(database, books);

然后跳转到 if 语句(到目前为止还不错)

if (formatedVerses.size() < 1) {

但是“formatedVerses.size() < 1”是错误的,所以它应该跳过 if block

但调试器不仅跳入 if block ,而且实际上跳入 block 的第二行:

formatedVerses = readAndSplitDatabaseFile(database, books);

这毫无意义。

我觉得有人在跟我开玩笑。

我就是想不通这个......

我也试过重构代码...但它只会变得更奇怪。

我也尝试过其他实现。例如像这样:

if (formatedVerses.size() < 1) {
return array1;
} else{
doSomethingElse();
return array2;
}

在这种情况下,它会跳转到 if block 的 true 语句

 return array1;

然后,当我点击下一步时,它实际上从那一行跳到else block 内的 return array2 行,同时完全省略 doSomethingElse()

有人有什么想法吗?因为我现在要疯了...

最佳答案

通常当我看到这样的行为时,是因为我没有运行我认为我正在运行的代码。我没有做过Android开发,所以我不能具体说,但是你是否勾选了项目菜单下的“自动构建”?我发现这可以大大减少我看到这种行为的次数。

您是否尝试过清理代码并进行完整的重建?您是在 Eclipse 之外还是在远程设备上运行它?如果在远程设备上,您是否已将代码发布到该设备?

正如我所说,我没有做过任何 Android 开发,所以从 Andriod 开发的角​​度来看,其中一些问题似乎是显而易见的。

希望这些想法有所帮助。

关于Android:代码行为疯狂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6739078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com