我有一个在资产中导入的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时会导致这种情况。如何在我的按钮之间混合问题?
答案 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));