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])语句将仅成功执行一次。

10-04 12:11