ユーザーが質問で 1 ~ 5 ポイントを獲得する小さなクイズ (5 問) を作成しています。質問ごとに5つの答えがあるので、5つのボタンがあります。
私は5つの異なるアクティビティを望んでいないので、ユーザーがランダムな回答/ボタンをクリックしたときにボタン+質問のテキストビューを変更することを考えました。すべてのボタンには 1 ~ 5 個のポイントがありますが、常に同じボタンです。たとえば、最初の質問でボタン 1 をクリックすると 1 ポイントが与えられますが、2 番目の質問でボタン 4 をクリックすると 4 ポイントが得られます。理にかなっていますか?
したがって、私の問題は if ステートメントが機能しないことであり、その理由がわかりません。それはおそらく本当に小さなことですが、Android向けのプログラミングは初めてなので、そうです。:(
コードの何が問題になっていますか? エラーはありません。ボタン1をクリックすると、「最後の1つ」に変わり、スコアが表示されます。
public class Vraag1 extends Activity implements OnClickListener{
Button a;
Button b;
Button c;
Button d;
Button e;
TextView scoreatm;
int int1 = 0;
int int2 = 0;
int int3 = 0;
int int4 = 0;
int int5 = 0;
int intwelk = 0;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_vraag1);
a = (Button) findViewById(R.id.button1);
a.setOnClickListener(this);
b = (Button) findViewById(R.id.button2);
b.setOnClickListener(this);
c = (Button) findViewById(R.id.button3);
c.setOnClickListener(this);
d = (Button) findViewById(R.id.button4);
d.setOnClickListener(this);
e = (Button) findViewById(R.id.button5);
e.setOnClickListener(this);
}
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button1:
if (intwelk == 0){
intwelk = 1;
int1 = 1; //1 point
a.setText("Change in this");
}
if (intwelk == 1){
intwelk = 2;
int2 = 1; //1 point
a.setText("Now this");
}
if (intwelk == 2){
intwelk = 3;
int3 = 1; //1 point
a.setText("And this");
}
if (intwelk == 3){
intwelk = 4;
int4 = 1; //1 point
a.setText("Last one");
}
if (intwelk == 4){
intwelk = 0;
int5 = 1; //1 point
showScore();
}
break;
case R.id.button2:
int1 = 2;
break;
case R.id.button3:
int1 = 3;
break;
case R.id.button4:
int1 = 4;
break;
case R.id.button5:
int1 = 5;
break;
}
}