1

我正在尝试制作一个应用程序,该应用程序从一个文本视图(问题)开始,然后是一个下拉列表选项(选择答案),具体取决于结果,如果单击该项目,它将带您进入具有更多问题文本视图的不同视图和下拉列表视图选项。最后,根据您选择的选项,最终结果会有所不同。说得通?寻找任何关于如何开始的源代码或示例,以确保它非常重复,所以任何东西都会取悦大家。

4

1 回答 1

0

好吧,要制作下拉列表,您需要使用此处详述的微调器对象,然后您需要使用微调器适配器来填充此列表,这可能很有用

一旦用户在您的测验中选择了一个答案,您可以使用不同的问题和答案重新填充相同的布局,通过更改您的 answerArray 并使用invalidate();重绘视图来开始下一轮(如果他们得到错误的答案,您将移动到而是“游戏结束”布局)。

至于存储问题和答案,我建议使用某种 SQLite 数据库。SQLite 数据库可以存储在应用程序的数据目录中。Android 有创建、编辑和读取数据库的方法,看看这个。大多数教程向您展示了如何使用代码创建数据库,但如果您有一个预定义的问题数据库要发布,那么您可以将它放在 assets 文件夹中,然后从那里将其复制到应用程序的数据目录中。

数据库会将问题存储在一个表中,并将答案存储在另一个表中。通过使用问题 ID 字段,您可以显示哪些答案属于哪个问题。您还可以使用真/假布尔字段显示哪些答案是正确的。

当应用程序将答案读入适配器时,您可以创建一个包含文本以及布尔正确/错误值的答案对象

public class AnswerObject{
    public String text;
    public boolean isCorrect;

    public AnswerObject(){
        this.text = "";
        this.isCorrect=false;
    }
}

然后为问题中的每个答案创建一个对象并将它们存储在一个数组中

AnswerObject[] answers = new AnswerObject[numberOfAnswers];
for(i=0; i<answers.length; i++){
     answers[i].text = textFromDatabase;
     answers[i].isCorrect = booleanFromDataBase; 
}

我为代码中的错误道歉。我是手写的。

于 2012-08-03T13:51:50.333 回答