我很想聽聽你們認爲最簡單的多項選擇測驗的最有效率/堅實的面向對象設計。設計建議:多項選擇測驗
基本上,應用程序提出了一系列問題,每個問題有4個選擇。如果您選擇的選項是正確的,那麼新的活動會在正確的答案後面顯示一些恭喜和全部細節,如果您錯了,會說您錯了,並附帶詳細信息等。
After那用戶轉到下一個問題。在每個新問題上,你都會看到你的分數。所以,也許你爲每個正確答案得到50分,就像那樣。
下面是我如何思考如何實現:使用一些單選按鈕或可用於選擇答案的其他小部件創建自定義視圖。自定義視圖需要一個Question對象,它只是一個普通的舊Java對象,其中包含用於選擇1-4的字段。然後,在自定義視圖中,我可以將單選按鈕的文本設置爲來自我的Question對象的選項。
因此,在我activity
它會看起來像Question myQuestion = new Question("string for choice 1", "string for choice 2"...)
然後..
使用我的自定義視圖的問題。 QuestionView myView = new QuestionView(this, myQuestion);
好的,這一切都很棒。我只是想知道我是否爲了麻煩而設置自己。首先,我必須跟蹤所有問題活動的分數。是否有意義讓我的所有問題具有一些子類,主要是空的,我創建的activity
可以有一個計數器,當用戶得到答案時(即在我的超類活動int scoreKeeper;
和每個活動的子類中此活動:if(choiceIsCorrect) scoreKeeper++
)。這將使分數在整個活動中持續存在。我意識到我可以在活動之間進行分數傳遞和額外的每一項新活動,然後簡單地加入它,但這對我來說似乎沒有任何意義。
對不起所有的blabbering ..但我想我的問題是:你認爲這是最簡單的設計?另外,總的來說,我總是認爲,只要用戶正在做一個「單一的,有針對性的事情」,就應該總是使用新的活動......就像Android範例所說的那樣。但有時候創造這麼多活動感覺很奇怪。我知道「感覺奇怪」這個事實沒有理由不這麼做,但是什麼時候重用活動纔是有意義的(例如,在這種情況下,只需在我的活動中交換一個新問題並相應地更新UI)而不是開始一項新的活動?
此外,一個更詳細的問題 - 什麼是平滑的方式來設置哪個選項(例如哪個單選按鈕)包含正確的答案,以便當用戶按下提交時,我可以檢查他們是否有正確的答案,是/沒有相應的反應?
總結:
- 什麼是簡單的,面向對象的方式來創建的選擇題活動繼承?
- 跟蹤評分最明智的方法是什麼?
- 每個問題是否都必須是單獨的活動? (一般來說,你們如何處理是否應該是一個單獨的活動的問題?)
- 此外,有什麼特別的:什麼是最簡單的方法來標記哪個選擇是正確的,所以我可以檢查用戶是否正確?例如,我知道使用單選按鈕,您可以使用onCheckedChangeListener並檢索當前選中哪個單選按鈕,但是我不確定如何在我的設計中使用該按鈕來檢查用戶是否正確。
謝謝!
不,不適用於任何班級。只是從那些具有設計模式經驗的人那裏尋求一些建議。我知道我可以「完成」,但我想看看是否有更好的方法。 – LuxuryMode 2011-06-13 18:26:07