2015-02-10 66 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

相關問題