Android-从XML
获取资源
你好
我正在开发一个用于测验游戏的android应用,该游戏有24个问题,每个问题都有一个String
(问题)和四个ImageButton (answer), when user select the correct
ImageButton`,然后转到下一个问题。
但是问题是,在选择了第一个正确答案之后,屏幕会刷新并显示一个新问题和一组新图像,但是该屏幕冻结在那里,无论我单击什么,都不会转到下一个问题。我已附上我的代码,并感谢任何帮助!
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_game);
// set variables
int fourImageId[] = { R.id.1_4a, R.id.1_4b,R.id.1_4c, R.id.1_4d };
questionText = (TextView) findViewById(R.id.question1);
questionList = getResources().getStringArray(R.array.question);
correctAnswerIdList = ListOfImages.getListOfCorrectImages();
imageIdList = ListOfImages.getListOfImages(); //two dimension array
// give values to four image buttons
for (int i = 0; i < 4; i++) {
fourImages[i] = (ImageButton) findViewById(fourImageId[i]);
final int temp = fourImageId[i];
fourImages[i].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (temp==correctAnswerIdList[index]){
questionText.setText(questionList[index]);
for (int i = 0; i < imageIdList[index].length; i++) {
fourImages[i].setImageResource(imageIdList[index][i]);}
index++;
}
}
});}
最佳答案
设置所有按钮单击侦听器后,您的temp变量将永不更改。因此,if (temp==correctAnswerIdList[index])
语句将仅成功执行一次。