所以我对编程和java非常陌生,无法让它工作。 我正在尝试制作一个测验应用程序,如果您键入正确答案,则会显示新图像并更正正确的答案。我将答案和图像存储在列表中,现在我想让它循环到列表中的下一个项目,如果答案是正确的。但我似乎做错了什么。 对不起,如果这是一个愚蠢的问题,并提前感谢您的帮助!
public class MainActivity extends AppCompatActivity {
Button sbm_btn;
EditText edittext;
Log mytag;
ImageView imgv1;
ImageView imgv2;
ImageView imgv3;
ImageView imgv4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
onButtonClick();
}
public void onButtonClick () {
imgv1 = (ImageView) findViewById(R.id.imageView1);
imgv2 = (ImageView) findViewById(R.id.imageView2);
imgv3 = (ImageView) findViewById(R.id.imageView3);
imgv4 = (ImageView) findViewById(R.id.imageView4);
sbm_btn = (Button) findViewById(R.id.sbm_btn);
edittext = (EditText) findViewById(R.id.answerfield);
final Handler handler = new Handler();
final ArrayList<String> answers = new ArrayList<>(); // My list of answers
answers.add("james bond");
answers.add("queen elisabeth");
final int[] view1 = { // my lists of images, the third is placeholder for testing
R.drawable.car,
R.drawable.crown,
R.drawable.pistol};
final int[] view2 = {
R.drawable.london,
R.drawable.oldwoman,
R.drawable.pistol};
final int[] view3 = {
R.drawable.smoking,
R.drawable.dress,
R.drawable.pistol};
final int[] view4 = {
R.drawable.pistol,
R.drawable.island,
R.drawable.pistol};
sbm_btn.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
int number = 0;
if
((edittext.getText().toString().equalsIgnoreCase(answers.get(number)))) {
number++; // Why doesnt this work?
Toast toast = Toast.makeText(getApplicationContext(),
"Well Done!", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER | Gravity.CENTER_HORIZONTAL, 0, 0);
toast.show();
handler.postDelayed(new Runnable() {
public void run() {
imgv1.setImageResource(view1[+1]); // this seems to work swappping pictures once and after that does nothing.
imgv2.setImageResource(view2[+1]);
imgv3.setImageResource(view3[+1]);
imgv4.setImageResource(view4[+1]);
}
}, 1300);
} else {
Toast toast = Toast.makeText(getApplicationContext(),
"WRONG!", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER | Gravity.CENTER_HORIZONTAL, 0, 0);
toast.show();
}
}
}
);
}
}
答案 0 :(得分:0)
尝试put int number = 0;进入班级顶层的领域。