老师,1:50到2:07时的操作,去掉一个红色的文字,剩下那个红色的还是没有变成白色啊。。
2014-11-03
3 回答
还有一种办法将
for (int i = 0; i < mBtnSelectWords.size(); i++) {
mBtnSelectWords.get(i).mViewButton.setTextColor(Color.WHITE);
}
放到 /**
* 初始化已选文字框
*/
private ArrayList<WordButton> initWordSelect()
里面的onClick事件中,即
/**
* 初始化已选文字框
*/
private ArrayList<WordButton> initWordSelect() {
ArrayList<WordButton> data = new ArrayList<WordButton>();
for (int i = 0; i < mCurrentSong.getNameLength(); i++) {
View view = Util.getView(MainActivity.this, R.layout.self_ui_gridview_item);
final WordButton holder = new WordButton();
holder.mViewButton = (Button) view.findViewById(R.id.item_btn);
holder.mViewButton.setTextColor(Color.WHITE);
holder.mViewButton.setText("");
holder.mIsVisiable = false;
holder.mViewButton.setBackgroundResource(R.drawable.game_wordblank);
holder.mViewButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
clearTheAnswer(holder);
for (int i = 0; i < mBtnSelectWords.size(); i++) {
mBtnSelectWords.get(i).mViewButton.setTextColor(Color.WHITE);
}
}
});
data.add(holder);
}
return data;
}
你在clearTheAnswer();方法后调用这两个方法就可以了。reCheckTheAnswer();是我自己定义的,跟老师的差不多,只是没有带参数。希望能感帮助你!!
private void reCheckTheAnswer() {
// 获得答案状态
int checkResult = checkTheAnswer();
// 检查答案
if (checkResult == STATUS_ANSWER_RIGHT) {
// 过关并获得奖励
// Toast.makeText(this, "STATUS_ANSWER_RIGHT", Toast.LENGTH_SHORT).show();
// handlePassEvent();
Intent intent = new Intent(FirstQuestion.this,AnswerRight.class);
startActivity(intent);
} else if (checkResult == STATUS_ANSWER_WRONG) {
// 闪烁文字并提示用户
sparkTheWrods();
} else if (checkResult == STATUS_ANSWER_LACK) {
// 设置文字颜色为白色(Normal)
firstView.setTextColor(Color.WHITE);
firstView2.setTextColor(Color.WHITE);
}
}@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
clearTheAnswer();
checkTheAnswer();
reCheckTheAnswer();
}举报