问题真的就是这么简单。我有一个带有随机更改文本视图框文本的按钮的活动。如何添加另一个按钮来收集以前生成的数字,以便返回以前的 textview 文本 - 对于报价应用程序。我需要什么功能吗?我已经搜索过,但我找不到会在随机数生成器上“返回”的功能。先感谢您。
问问题
212 次
1 回答
0
您不需要返回生成器本身,只需记住以前的值即可。将其存储在变量中。这里我们使用 prev 作为数组,因为我们需要它是 final 的,所以我们可以在匿名内部类(点击处理程序)中访问它。但我们也需要改变它。所以我们使用这个prev[0]
值。
在这里,我假设您有一个名为 nextNum 的按钮,它生成下一个随机数。但这可能是任何事情,没关系。当您生成一个新的随机数时,只需更新 prev 数组的第 0 个元素就可以了。
final String[] prev = new String[] { "" }
@Override
public void onCreate(Bundle bundle) {
// ....
Button BackQuote = (Button)findViewById(R.id.back);
final TextView display = (TextView) findViewById(R.id.textView1);
// number generator button
Button nextNum = (Button) findViewById(R.id.random);
nextNum.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// generate a random number
// store it in prev
prev[0] = rndNum.toString();
}
});
BackQuote.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
display.setText(prev[0]);
}
});
}
除非有特定原因要避免这种情况,否则这将非常有效。而且没有办法回到随机生成器上。根据定义,它是随机的!(是的,伪随机。尽管如此)
因此,如果您想保留历史记录,则必须自己实施这些记录。我还没有看到具有历史功能的随机生成器。如果我也这样做,我会感到惊讶。
于 2013-04-02T21:22:41.077 回答