我是新来的,所以请放轻松我。我刚刚开始摆弄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上定义类似的情况( )方法?
答案 0 :(得分:3)
您必须在交换机中使用break
答案 1 :(得分:1)
您的问题与随机生成器无关。您忘了将break;
放在switch
案例的末尾:
switch (a){
case 0:
send = getString(R.string.random0);
break;
case 1:
...
}