挑战练习6.5 限制作弊次数
允许用户最多作弊3次。记录用户查看答案的次数,在CHEAT按钮下显示剩余次数。超出后,禁用偷看按钮。
因为只有点击mShowAnswerButton按钮才是作弊,所以需要从QuizActivity传数据到CheatActivity再传回去。
1.首先定义好新的控件显示剩余作弊次数
2.然后再在QuizActivity和CheatActivity都设置同样的Key值用于存取数据跟一个整型数据表示剩余次数。
3.在QuizActivity里面传数据过去
4.在CheatActivity里面处理接收过来的数据,在onCreate方法里面首先根据键值查数据然后赋值
5.因为点击一次展示答案按钮次数就减少一次,所以在展示答案按钮的监听器里面每次设置减一
6.把数据传回QuizActivity,跟之前章节的作弊答案一样用键值对存
7.在QuizActivity里面把传回来的数据处理,更新剩余次数
8.在onCreate方法里面绑定TextView控件
9.如果直接在onCreate里面用setText方法展示剩余次数的话,页面后退的时候剩余次数不会刷新,因为后退的时候onCreate方法不会重新调用
10.所以为了让TextView能展示最新的剩余次数,我们把setText方法放到onStart方法里面,同时当剩余次数为0的时候让按钮变成不能点击的状态
11.效果图: