1

親のビジネス用のアプリを作ろうとしていますが、この時点で問題が見つかりました。

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データベースから文字列を取得するメソッドです。これはうまくいきます。問題は、配列の値を更新できないことです。いつも同じ表示です。

何か案が?

4

6 に答える 6

5

これをして、

  String[] data = new String[4];

        for (int i = 0; i <data .length; i++)
        {
            data[i]=(info.getProduct(i));
        }

それはあなたを助けます。

于 2012-04-13T13:12:14.720 に答える
0

このループは実行されないため、次のように変更する必要があります。

for(int i =0;i<3;i++){
}
于 2012-04-13T12:27:14.370 に答える
0

forループの使用は次のようになります

for(initializatin;condition;increment)

あなたの場合、それは条件ではありませんが、それはステートメントですので、それに取り組んでください。

あなたはに変更することができますfor (int i = 1; i <= 3; i++)

于 2012-04-13T12:27:29.813 に答える
0

ループの 2 番目の引数は-conditionforとして機能するwhileはずです。つまり、ループは true の間実行され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
}
于 2012-04-13T12:24:34.960 に答える
0

あなたはこれをするべきです

String[] data = {"", "", "", ""};

            for (int i = 0; i <data .length; i++)
            {
                data[i]=(info.getProduct(i));
            }
于 2012-04-13T12:24:52.793 に答える
-1

i==3 ではなく、for ループで i<3 を使用します

于 2012-04-13T12:25:09.160 に答える