2015-02-10 31 views
0

我完全失去了我的项目,我需要有人指向我正确的方向,因为现在我只是看着我的代码,我不知道从哪里开始。将我当前的项目转换为碎片。失去了我的项目

我的应用程序都是关于回答问题的。如果问题是对还是错,玩家必须回答。如果他回答了正确的问题,他就可以释放出新的水平。所以直到今天,我只是觉得我需要在每个级别创建一个新的活动,在这个活动中创建问题并让它运行。但直到今天,我意识到有100个不同层次的活动只是愚蠢的。

所以我需要使我的应用程序与片段工作。我唯一需要做的就是让每个不同层次的应用程序从问题列表中选择具体的问题,并用它们的值显示它们。

现在我在等级活动中创建问题。例如:Level1Activity

//Creating questions. (Question, boolean, answer). 
     final Question first = new Question("Do i understand this code?", true, "Only Jesus knows"); 
     final Question second = new Question("Why dont i understand this code?", false, "Im not Jesus"); 
     final Question third = new Question("Why I am not Jesus?", true, "2fat."); 

     //Creating Lists for questions and boolean values. 
     final ArrayList<Question> questions = new ArrayList<Question>(); 
     final ArrayList<Boolean> type = new ArrayList<Boolean>(); 

     //Adding questions to the question list 
     questions.add(first); 
     questions.add(second); 
     questions.add(third); 

     // Adding boleans to the boolean list 
     type.add(first.correctAnswer); 
     type.add(second.correctAnswer); 
     type.add(third.correctAnswer); 

那么,我需要做什么,以便我不需要在每个级别上创建一个新问题的新活动。何做一项活动,并在各个层次上展示他们的片段?

回答

0

您必须开始在所有级别使用相同的片段,并动态加载问题。每个级别使用一个活动是一个非常糟糕的主意。

首先,尝试创建一个片段,使其膨胀并使用它,并建立ONE级别模型。也许(父母/持有者)活动可以控制当前的水平,并且可以相应地将问题传递给片段,并保存诸如分数或游戏状态的属性。

要注意,从MVC模型 - 视图 - 控制器)观点的活动是控制器,这是错误的,以保持模式在控制器数据。当屏幕旋转时,将重新创建“查看”层次结构(视图)和活动(控制器)。更好地使用一个单独的类,可能是一个单例,以保留必须在屏幕转向后生存的数据。

+0

所以我所有的函数代码如何回答问题以及如何添加分数必须在片段中?我需要在哪里存储我的问题?我应该创建一个新课程并将所有的问题存储在那里吗? – Arina 2015-02-10 14:42:43

0

也许你不需要片段。您可以有多个布局(通过setContentView(int id)使用),或者甚至更好,有一个布局,其上有多个实例TextView,并以编程方式设置这些文本视图中的文本。

顺便说一句,你可以startActivity()和调用finish()对当前活动(我不是说你应该这样做,但你可以)。

+0

嗯,是的,我只有一个布局适合我所有的关卡。我需要在每个级别改变唯一的问题是问题。所以你告诉我我不需要碎片?说几个TextView的实例是什么意思?你能解释更多吗? – Arina 2015-02-10 14:50:46

相关问题