Android - 随机无效

时间:2014-02-08 20:35:45

标签: java android random

我是新来的,所以请放轻松我。我刚刚开始摆弄Android开发和第一个应用程序,我正在尝试按下按钮 - >得到一个随机的句子。我的想法是有两个活动:按下按钮的主要活动,它选择一个随机数并将其转换为意图发送到其他活动(如下所示)。

public void activity2(View view){
    Intent intent = new Intent(this, RandomThought.class);
    Random rand = new Random();
    String x = Integer.toString(rand.nextInt(3));
    intent.putExtra(EXTRA_RANDOM, x);
    startActivity(intent);
}

然后另一个活动接收它,并按以下方式从XML字符串文件中选择一个句子:

Intent intent = getIntent();
    String x = intent.getStringExtra(MainActivity.EXTRA_RANDOM);
    int a = Integer.parseInt(x);
    switch (a){
        case 0:
            send = getString(R.string.random0);
        case 1:
            send = getString(R.string.random1);
        case 2:
            send = getString(R.string.random2);
    }

    TextView textView = new TextView(this);
    textView.setTextSize(40);
    textView.setText(send);

    setContentView(textView);

现在,由于某些原因,实际发生的事情是它总是选择更高的数量(在这种情况下为2)。另外,考虑到活动的生命周期,如果我回到主要活动并再次按下按钮,它会生成新的数字和句子,还是我需要在onResume()/ onRestart上定义类似的情况( )方法?

2 个答案:

答案 0 :(得分:3)

您必须在交换机中使用break

答案 1 :(得分:1)

您的问题与随机生成器无关。您忘了将break;放在switch案例的末尾:

switch (a){
    case 0:
        send = getString(R.string.random0);
        break;

    case 1:
        ...
}