1

アセットにインポートされたSQLiteテーブルがあります。10行6列(_ID、QUESTION、ANSWER、OPTION1、OPTION2、OPTION3)の試用版です。私はデータベースからランダムな行を読み取り、そのデータ、1つの質問をテキストビューに割り当て、次のコードを使用してボタンに4つの可能な回答を割り当てることができました。

TestAdapter mDbHelper = new TestAdapter(this);
        mDbHelper.createDatabase();

        mDbHelper.open();

        final Cursor c = mDbHelper.getTestData();

        question.setText(c.getString(1));
        bOdgovor1.setText(c.getString(2));
        bOdgovor2.setText(c.getString(3));
        bOdgovor3.setText(c.getString(4));
        bOdgovor4.setText(c.getString(5));

TestAdapterクラスにも次の行があります。

String sql ="SELECT * FROM tblPitanja ORDER BY RANDOM() LIMIT 1";

これはすべて良いことですが、ボタンに質問をランダムに割り当てることはしません。答えがボタン1に来るたびに、このようにします。ボタン間で質問を組み合わせるにはどうすればよいですか。

4

1 に答える 1

1

文字列をリストに入れ、これを使用して文字列をシャッフルします。

次に例を示します。

List<String> labels = new ArrayList<String>();

labels.add(c.getString(2));
labels.add(c.getString(3));
labels.add(c.getString(4));
labels.add(c.getString(5));

Collections.shuffle(labels);

bOdgovor1.setText(labels.get(0));
bOdgovor2.setText(labels.get(1));
bOdgovor3.setText(labels.get(2));
bOdgovor4.setText(labels.get(3));
于 2013-02-28T03:37:05.230 に答える