我正在尝试为我父母的业务制作应用,但此时我发现了一个问题。
我正在尝试从SQLite数据库中获取一些字符串并将它们存储到数组中。
我正在尝试这个:
//This opens the db
SQLManager info = new SQLManager(this);
info.open();
String[] data = {"", "", "", ""};
for (int i = 1; i == 3; i++)
{
data[i]=(info.getProduct(i));
}
info.close();
tv.setText(data[0]);
tv.setText(data[1]);
tv.setText(data[2]);
info.getproduct
是一种从数据库中获取字符串的方法。这很好用。问题是我无法更新数组的值。它总是显示相同的。
有什么想法吗?
答案 0 :(得分:4)
你这样做,
String[] data = new String[4];
for (int i = 0; i <data .length; i++)
{
data[i]=(info.getProduct(i));
}
它帮助你。
答案 1 :(得分:0)
for
循环中的第二个参数应该用作while
- 条件,这意味着循环将在其为真时运行,因为i
从1开始,它不会为3,因此循环立即终止。
您可能想要一个如下所示的循环:
for( int i = 1; i<=3; i++ ){ //Are you sure you want to start from 1? The first element in an array has index 0.
//Loop
}
答案 2 :(得分:0)
你应该这样做
String[] data = {"", "", "", ""};
for (int i = 0; i <data .length; i++)
{
data[i]=(info.getProduct(i));
}
答案 3 :(得分:0)
这个循环永远不会运行你应该把它改成:
for(int i =0;i<3;i++){
}
答案 4 :(得分:0)
使用for循环就像这样
for(initializatin;condition;increment)
虽然在你的情况下,它不是一个声明,所以努力。
您可以更改为for (int i = 1; i <= 3; i++)
答案 5 :(得分:-1)
不是i == 3,在for循环中使用i&lt; 3