0

问题真的就是这么简单。我有一个带有随机更改文本视图框文本的按钮的活动。如何添加另一个按钮来收集以前生成的数字,以便返回以前的 textview 文本 - 对于报价应用程序。我需要什么功能吗?我已经搜索过,但我找不到会在随机数生成器上“返回”的功能。先感谢您。

4

1 回答 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 回答