Android - 无法从XML获取资源

时间:2013-03-01 15:06:12

标签: android xml

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++;
        }
    }
});}

2 个答案:

答案 0 :(得分:1)

在设置了所有按钮单击侦听器后,您的临时变量永远不会更改。因此,if (temp==correctAnswerIdList[index])语句只能成功执行一次。

答案 1 :(得分:0)

你的for(int i = 0; i&lt; 4; i ++)语句需要为每个新问题执行一次。现在它只执行一次,设置新的问题和图像按钮,但你的应用程序不知道从那里去。