1

Android - リソースを取得するXML

やあ、

私はクイズゲーム用のAndroidアプリを開発しています。ゲームには24の質問があり、各質問にはString(質問)と4つのImageButton (answer), when user select the correctImageButton`があり、次の質問に進みます。

しかし、問題は、最初の正解を選択した後、画面が新しい質問と新しい画像のセットで更新されますが、そこでフリーズし、何をクリックしても次の質問に移動しないことです. コードを添付しました。助けていただければ幸いです!!

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

2 に答える 2

1

すべてのボタン クリック リスナーが設定された後、temp 変数が変更されることはありません。このため、if (temp==correctAnswerIdList[index])ステートメントは 1 回だけ正常に実行されます。

于 2013-03-01T15:43:14.783 に答える
0

for (int i = 0; i < 4; i++) ステートメントは、新しい質問ごとに 1 回実行する必要があります。現時点では、一度だけ実行され、新しい質問と画像ボタンが設定されますが、アプリはそこからどこへ行くべきかわかりません。

于 2013-03-01T16:12:05.203 に答える