Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 随机数1-6_Java_Android - Fatal编程技术网

Java 随机数1-6

Java 随机数1-6,java,android,Java,Android,我试图创建一个简单的高/低应用程序,但当我尝试获取一个随机数时,应用程序崩溃。 下面是一些代码: final TextView counter = (TextView) findViewById(R.id.tcounter); Button high = (Button) findViewById(R.id.bhigh); Button low = (Button) findViewById(R.id.blow); Button start = (Button) findViewById(R.i

我试图创建一个简单的高/低应用程序,但当我尝试获取一个随机数时,应用程序崩溃。 下面是一些代码:

final TextView counter = (TextView) findViewById(R.id.tcounter);
Button high = (Button) findViewById(R.id.bhigh);
Button low = (Button) findViewById(R.id.blow);
Button start = (Button) findViewById(R.id.bplay);
final Random rstart = new Random();
final int counternr = rstart.nextInt(5) + 1;

start.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            counter.setText(counternr);
这本应将TextView计数器设置为1-6之间的随机数,但会导致崩溃

提前谢谢

编辑:以下是错误文本:

11-23 20:17:40.509: ERROR/AndroidRuntime(765): FATAL EXCEPTION: main
11-23 20:17:40.509: ERROR/AndroidRuntime(765): java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx.xxx.xxx/xxx.xxx.xxx.play}: java.lang.NullPointerException
11-23 20:17:40.509: ERROR/AndroidRuntime(765):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
11-23 20:17:40.509: ERROR/AndroidRuntime(765):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
11-23 20:17:40.509: ERROR/AndroidRuntime(765):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
11-23 20:17:40.509: ERROR/AndroidRuntime(765):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
11-23 20:17:40.509: ERROR/AndroidRuntime(765):     at android.os.Handler.dispatchMessage(Handler.java:99)
11-23 20:17:40.509: ERROR/AndroidRuntime(765):     at android.os.Looper.loop(Looper.java:123)
11-23 20:17:40.509: ERROR/AndroidRuntime(765):     at android.app.ActivityThread.main(ActivityThread.java:3683)
11-23 20:17:40.509: ERROR/AndroidRuntime(765):     at java.lang.reflect.Method.invokeNative(Native Method)
11-23 20:17:40.509: ERROR/AndroidRuntime(765):     at java.lang.reflect.Method.invoke(Method.java:507)
11-23 20:17:40.509: ERROR/AndroidRuntime(765):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-23 20:17:40.509: ERROR/AndroidRuntime(765):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-23 20:17:40.509: ERROR/AndroidRuntime(765):     at dalvik.system.NativeStart.main(Native Method)
11-23 20:17:40.509: ERROR/AndroidRuntime(765): Caused by: java.lang.NullPointerException
11-23 20:17:40.509: ERROR/AndroidRuntime(765):     at xxx.xxx.xxx.play.onCreate(play.java:26)
11-23 20:17:40.509: ERROR/AndroidRuntime(765):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
11-23 20:17:40.509: ERROR/AndroidRuntime(765):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
11-23 20:17:40.509: ERROR/AndroidRuntime(765):     ... 11 more
很乱,但我希望没问题。

改变这个

counter.setText(counternr);
用这个

counter.setText(Integer.toString(counternr));
方法setText只接受CharSequence对象作为参数(在本例中为字符串或int,如果它表示资源ID),请更改此设置

counter.setText(counternr);
用这个

counter.setText(Integer.toString(counternr));
方法setText只接受CharSequence对象作为参数(在本例中为字符串或int,如果它表示资源ID)

请确保调用setContentView。。。在使用findViewById之前。。。用于按钮和文本视图

如果你不这样做,它们将不会被找到,它们都将是空的。在这种情况下,尝试设置start.OnClickListener。。。将引发NullPointerException。

请确保您正在调用setContentView。。。在使用findViewById之前。。。用于按钮和文本视图


如果你不这样做,它们将不会被找到,它们都将是空的。在这种情况下,尝试设置start.OnClickListener。。。将引发NullPointerException。

发布stacktrace或日志副本,显示崩溃发生的位置及其引发的异常。NullPointerException位于xxx.xxx.play.onCreate发布stacktrace或日志副本,显示崩溃发生的位置及其引发的异常。NullPointerException位于xxx.xxx.xxx.play.onCreate实际上,它似乎也接受一个整数,以便您可以传递一个资源ID。这可以解释为什么它是一个运行时错误而不是编译时错误。仍然崩溃,检查了调试窗口,它显示了有关NullPointerException和指向onCreate的内容。我相信第26行是这样的:start.setOnClickListenernew View.OnClickListener{将stacktrace添加到您的帖子中;通过这种方式,我们可以帮助您以更好的方式查看Mistersquaonk的答案,可能问题在于SetContentView实际上它似乎也接受一个整数,以便您可以传递资源ID。这将解释为什么它是一个运行时错误而不是编译时错误。仍然崩溃,检查了调试窗口并检查了它我相信第26行是这样的:start.setonclicklistenernewview.OnClickListener{将stacktrace添加到您的帖子中;通过这种方式,我们可以帮助您更好地看到Mstersquonk的答案,问题可能是setContentView