有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从SQLite db将文本随机设置为四个按钮?

我在assets中导入了一个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处。如何在我的按钮之间混合问题


共 (1) 个答案

  1. # 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));