【问题标题】:How would I create a back button for a random generator so the previous textview is displayed?如何为随机生成器创建一个后退按钮,以便显示以前的文本视图?
【发布时间】:2013-03-24 08:36:19
【问题描述】:

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

【问题讨论】:

    标签: android eclipse button random


    【解决方案1】:

    您不需要返回生成器本身,只需记住以前的值即可。将其存储在变量中。这里我们使用 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]); 
            } 
        });
    }
    

    除非有特定原因您想避免这种情况,否则这将非常有效。并且没有办法在随机生成器上返回。根据定义,它是随机的! (是的,伪随机。尽管如此)

    因此,如果您想保留历史记录,则必须自己实现这些记录。我还没有看到具有 history 功能的随机生成器。如果我也这样做,我会感到惊讶。

    【讨论】:

    • 那为什么不行呢? : Button BackQuote = (Button)findViewById(R.id.back);最终 TextView 显示 = (TextView) findViewById(R.id.textView1); BackQuote.setOnClickListener(new View.OnClickListener() { String prev = (String) display.getText(); public void onClick(View v) { display.setText(R.string.prev); } });}
    • 您不能更改资源字符串 (R.string.prev) 的值,它们是编译时常量。而是使用局部变量字符串 (display.setText(prev))。如果你需要它持久化,那么你可以将它存储在 SharedPreferences 中。
    • 我如何获得上一个文本?
    猜你喜欢
    • 1970-01-01
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2016-04-15
    • 1970-01-01
    • 2016-07-29
    • 2013-12-18
    相关资源
    最近更新 更多