下面的问题让我很头疼。我创建了一个 TextView,它在单击按钮(askButton)后显示一个随机数组。第二个按钮(rstButton)应该充当重置按钮,从文本中清除所有字段。为了实现这一点,我使用了该setText("")
方法。它成功清除了所有字段。
我的问题是,在清除所述 TextView 并单击 Button(askButton) 之后,TextView 内容不再是随机的,并一遍又一遍地显示相同的数组。我整天都在各种网站上寻找解决方案,但没有成功。
String ansArray[] = { "yes","no", "Surely","Never"};
final Random random = new Random();
final int select = random.nextInt(ansArray.length);
final TextView ansText = (TextView) findViewById(R.id.textView1);
Button buttonAsk = (Button) findViewById(R.id.button1);
buttonAsk.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
ansText.setText(ansArray[select]);
我认为“final”修饰符导致无法更改数组,但不将我的数组声明为 final 会给我一个错误并要求使用 final 修饰符。(我认为这就是问题所在)
代码的第二部分包括重置按钮:
final EditText questionText = (EditText) findViewById(R.id.editText1);
ImageButton btnReset = (ImageButton) findViewById(R.id.imageButton1);
btnReset.setOnClickListener(new ImageButton.OnClickListener(){
public void onClick(View v){
questionText.setText("");
ansText.setText("");
}
});
那么我的问题在于最终修饰符还是我做错了什么?我很感激任何帮助。提前致谢!