我目前正在学习Android,我在Java中有很好的基础。在onCreate中声明的随机整数
我尝试使用的onCreate下面的代码来获得一个随机整数(1-20):
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int randomNumber = (int)(Math.random()*20)+1;
}
而且在我的MainActivity类别:
public class MainActivity extends AppCompatActivity {
int randomNumber;
它不工作,我只能得到0作为随机数。
但是如果我不申报我的随机整数上onCreat但只有在Mainactivity,它的工作原理:
public class MainActivity extends AppCompatActivity {
int randomNumber=(int)(Math.random()*20)+1;
最后,如果我用另一种方式来获得有关的onCreate宣布一个随机数,它的工作原理如图所示如下:
public class MainActivity extends AppCompatActivity {
int randomNumber;
....
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Random rand = new Random();
randomNumber=rand.nextInt(20)+1;
}
}
我不明白为什么我不能在onCreate方法中声明我的随机数。使用Math.random,但与rand.nextInt一起工作,无论如何,我能够使用其他代码,但我想明白为什么。
OnClick方法代码未显示。
您发布的第一个onCreate方法是否属于MainActivity? – FWeigl
是的,它确实属于MainActivity – dcvman