请阅读下文。我已经修好了。
是的,我已经问过这个问题了,是的,人们建议我使用 .equals,但它仍然不起作用。
我的问题是我的代码没有破坏 for 循环。
for(int l=0; l<1000; l++){
if(settings.getString("note" + l, "").equals("")){
if(settings.getString("notelong" + l, "").equals("")){
editor.putString("note" + l, title.getText().toString());
editor.putString("notelong" + l, note.getText().toString());
editor.commit();
break; // This should break the loop BUT IT DOESN'T...
}
}
}
有什么建议吗?
编辑:是的,它运行中断。否则它不会创建注释
编辑2:抱歉,这个for循环位于另一个for循环中,我忘记打破第一个循环......现在它可以工作了!感谢您的帮助:)
最佳答案
要么
settings.getString("note" + l, "")
或
settings.getString("notelong" + l, "")
(或两者)不返回空字符串。如果不匹配,您的等于比较将返回false。在这种情况下,它永远不会进入 break 语句。为了使您的 break 逻辑正常工作,两个 if 语句都必须为 true。
关于java - 我的中断代码不会破坏我的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18068398/