如何从SQLite数据库随机设置文本到四个按钮



我有一个在资产中导入的SQLite表,试用一个有10行6列(_ID, QUESTION, ANSWER, OPTION1, OPTION2和OPTION3)。我设法从数据库中读取随机行,并将该数据,一个问题分配给textview,并使用此代码对我的按钮进行四种可能的答案:

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。如何在我的按钮之间混合问题?

将字符串放入列表中,并使用此列表对它们进行洗牌。

下面是一个例子:

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));

最新更新