【发布时间】:2014-03-28 12:51:32
【问题描述】:
我无法通过标题真正解释我想要表达的意思,但我会在这里展开。
无论如何,我仍在学习如何编码,所以请原谅我误用了一些术语。
我制作了一个显示字符串数组的简单应用程序。它只有两个视觉部分——一个 TextView 元素和一个 Button 元素。按下按钮会显示字符串数组中的随机水果。
问题是,当我改变方向时,显示的水果会发生变化。我知道发生这种情况是因为只要方向改变,活动就会“重新制作”。而且我确实了解如何使用 onSaveInstanceState 及其对应物。
但我不知道如何在 Display 中保存和恢复当前显示的值,因为我使用的是 Random 而不是 int。因此,我认为我不能依赖使用 putInt 和 getInt。
TextView Display;
Button randomize;
String[] fruitArray;
Random counter = new Random();
Random rand = new Random();
int launchCounter = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initializeButtons();
checkAndroidVersion();
changeFont();
fruitArray= getResources().getStringArray(R.array.fruits);
launchCounter = rand.nextInt(10) + 1;
Display.setText(fruitArray[launchCounter]);
randomize.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
int maxIndex = jokeArray.length;
int generatedIndex = counter.nextInt(maxIndex);
Display.setText(fruitArray[generatedIndex]);
}
});
【问题讨论】:
标签: java android arrays random