《Android编程权威指南(第三版)》第五章挑战练习Demo
第一题:
新建一个TextView布局,利用setText()添加字符串:
/**
* 添加API的版本,利用setText()添加到TextView里面去
*/
mApinumber.setText("API Level " + String.valueOf(Build.VERSION.SDK_INT));
第二题:
利用一个静态的int型变量记录作弊的剩余次数:
/**
* 利用静态变量记录作弊次数
*/
private boolean mAnswerIsTrue;
每次点击CheatActivity的mShowAnswerButton就会将静态变量减一:
mShowAnswerButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
/**
* 只要点击了作弊按钮,就执行减一
*/
QuizActivity.cheatNumber--;
在GeoActivity从新变为栈顶活动并加载到当前视图时检测cheat是否为0,若为0,则隐藏mCheatButton,若不为0,则输出剩余次数
public void onResume() {
/**
* 在GeoActivity从新变为栈顶活动并加载到当前视图时检测cheat是否为0,
* 若为0,则隐藏mCheatButton,若不为0,则输出剩余次数
*/
super.onResume();
Log.d(TAG, "onResum() called");
if (cheatNumber == 0){
mCheatButton.setVisibility(View.GONE);
} else {
Toast.makeText(QuizActivity.this,
"作弊次数还有" + String.valueOf(cheatNumber) + "次",
Toast.LENGTH_SHORT).show();
}
}
源码地址:Demo
注:每次的挑战练习都是单独分开做的,所以第6章的挑战练习不会有第5章的防作弊功能