1

我在资产中导入了一个 SQLite 表,试用了一个 10 行和 6 列(_ID、QUESTION、ANSWER、OPTION1、OPTION2 和 OPTION3)的表。我设法从数据库中读取随机行并将该数据分配给文本视图,并使用以下代码为我的按钮分配四个可能的答案:

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 回答