如何从SQLite db中随机设置文本到四个按钮?

时间:2013-02-28 03:05:44

标签: java android sqlite android-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时会导致这种情况。如何在我的按钮之间混合问题?

1 个答案:

答案 0 :(得分:1)

将您的字符串放入列表中,然后使用this将它们随机播放。

以下是一个例子:

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