-2

有没有办法只查询我的数据库的一部分?让我解释一下……我有一张桌子,如下图所示,我在那里有问题和答案。A是问题,B是答案。所以,为了避免两个数据库,我创建了一个。我需要 8 个答案来 setText 到 8 个按钮,在另一行中,我需要 8 个答案来 setText 到其他 8 个按钮。因此,对于两个数据库,我会随机选择一行,收集随机播放它们,然后将 setText 设置为按钮,但是在图片中有答案,我不知道该怎么做。所以,我需要随机选择一个 id,选择问题,随机播放,setText 到按钮,在同一行选择所有 8 个答案,随机播放,然后设置为其他 8 个按钮。有没有办法或者我需要再创建一个表和一个数据库助手类?

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

0

好的,这是我到目前为止所做的并且有效,但如果有更好的解决方案,请纠正我。我跳过了代码中一些不相关的部分。

Button a1,a2,a3,a4,a5,a6,a7,a8,b1,b2,b3,b4,b5,b6,b7,b8;
    TextView pitanje;

a1 = (Button) findViewById(R.id.bA1);
        a2 = (Button) findViewById(R.id.bA2);
        a3 = (Button) findViewById(R.id.bA3);
        a4 = (Button) findViewById(R.id.bA4);
        a5 = (Button) findViewById(R.id.bA5);
        a6 = (Button) findViewById(R.id.bA6);
        a7 = (Button) findViewById(R.id.bA7);
        a8 = (Button) findViewById(R.id.bA8);
        b1 = (Button) findViewById(R.id.bB1);
        b2 = (Button) findViewById(R.id.bB2);
        b3 = (Button) findViewById(R.id.bB3);
        b4 = (Button) findViewById(R.id.bB4);
        b5 = (Button) findViewById(R.id.bB5);
        b6 = (Button) findViewById(R.id.bB6);
        b7 = (Button) findViewById(R.id.bB7);
        b8 = (Button) findViewById(R.id.bB8);
        pitanje = (TextView) findViewById(R.id.tvPitanje);

        nextQuestion();
    }

    private void nextQuestion() {

        TestAdapter mDbHelper = new TestAdapter(this);
        mDbHelper.createDatabase();

        try{ 

            mDbHelper.open();

            Cursor c = mDbHelper.getTestData(generateWhereClause());

            mAnsweredQuestions.add(c.getLong(0));

            pitanje.setText(c.getString(1));

            List<String> labelsA = new ArrayList<String>();
            List<String> labelsB = new ArrayList<String>();

            labelsA.add(c.getString(2));
            labelsA.add(c.getString(4));
            labelsA.add(c.getString(6));
            labelsA.add(c.getString(8));
            labelsA.add(c.getString(10));
            labelsA.add(c.getString(12));
            labelsA.add(c.getString(14));
            labelsA.add(c.getString(16));

            labelsB.add(c.getString(3));
            labelsB.add(c.getString(5));
            labelsB.add(c.getString(7));
            labelsB.add(c.getString(9));
            labelsB.add(c.getString(11));
            labelsB.add(c.getString(13));
            labelsB.add(c.getString(15));
            labelsB.add(c.getString(17));

            Collections.shuffle(labelsA);
            Collections.shuffle(labelsB);

            a1.setText(labelsA.get(0));
            a1.setOnClickListener(clickListener);

            a2.setText(labelsA.get(1));
            a2.setOnClickListener(clickListener);

            a3.setText(labelsA.get(2));
            a3.setOnClickListener(clickListener);

            a4.setText(labelsA.get(3));
            a4.setOnClickListener(clickListener);

            a5.setText(labelsA.get(4));
            a5.setOnClickListener(clickListener);

            a6.setText(labelsA.get(5));
            a6.setOnClickListener(clickListener);

            a7.setText(labelsA.get(6));
            a7.setOnClickListener(clickListener);

            a8.setText(labelsA.get(7));
            a8.setOnClickListener(clickListener);

            b1.setText(labelsB.get(0));
            b1.setOnClickListener(clickListener);

            b2.setText(labelsB.get(1));
            b2.setOnClickListener(clickListener);

            b3.setText(labelsB.get(2));
            b3.setOnClickListener(clickListener);

            b4.setText(labelsB.get(3));
            b4.setOnClickListener(clickListener);

            b5.setText(labelsB.get(4));
            b5.setOnClickListener(clickListener);

            b6.setText(labelsB.get(5));
            b6.setOnClickListener(clickListener);

            b7.setText(labelsB.get(6));
            b7.setOnClickListener(clickListener);

            b8.setText(labelsB.get(7));
            b8.setOnClickListener(clickListener);

    }
        finally{
            mDbHelper.close();
        }
于 2013-03-19T00:05:06.953 回答