1. 程式人生 > >挑戰練習3.7 禁止一題多答

挑戰練習3.7 禁止一題多答

挑戰 構造函數 bundle eat get 更新 save 防止 check

用戶答完某道題:就禁掉那道題對應的按鈕,防止用戶一題多答。

1.在Question類裏面添加屬性isAnswerd,並且增加相應的getter跟setter方法,構造函數修改。

技術分享圖片

2.修改mQuestionBank數組裏面的創建對象時構造函數的參數,第三個參數默認為0表示沒答過

技術分享圖片

3.設置Key值

技術分享圖片

4.將Key值放到onSaveInstanceState方法裏面用Bundle對象保存起來

技術分享圖片

5.創建ButtonEnabled函數,將答過的題目禁止答

技術分享圖片

6.在checkAnswer方法裏面判斷對錯的時候,答對賦值1,答錯賦值-1,判斷完了調用ButtonEnabled函數把按鈕禁止再選。

技術分享圖片

7.每次點擊前後按鈕都會調用updateQuestion函數更新題目,因此也要加入ButtonEnabled函數把按鈕禁掉

技術分享圖片

8.在onCreate函數裏面用Bundle對象根據前面的Key值獲取答題情況

技術分享圖片

挑戰練習3.7 禁止一題多答