Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.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/183.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
onClick上的Java/Android NullPointerException_Java_Android_Nullpointerexception - Fatal编程技术网

onClick上的Java/Android NullPointerException

onClick上的Java/Android NullPointerException,java,android,nullpointerexception,Java,Android,Nullpointerexception,我不知道Android/Java为什么要这么做,这很难思考,因为我非常累,现在简直不能自己思考 我正在创建静态函数,并以这种方式输入和执行代码,我不认为这是原因,因为它甚至还没有通过if语句;你们都怎么想?我打赌这是一个简单的解决办法,我就是想不出我的生活 代码: 日志: 06-03 22:34:01.178: E/AndroidRuntime(2599): FATAL EXCEPTION: main 06-03 22:34:01.178: E/AndroidRuntime(2599): jav

我不知道Android/Java为什么要这么做,这很难思考,因为我非常累,现在简直不能自己思考

我正在创建静态函数,并以这种方式输入和执行代码,我不认为这是原因,因为它甚至还没有通过if语句;你们都怎么想?我打赌这是一个简单的解决办法,我就是想不出我的生活

代码:

日志:

06-03 22:34:01.178: E/AndroidRuntime(2599): FATAL EXCEPTION: main
06-03 22:34:01.178: E/AndroidRuntime(2599): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.gta5news.qwuik/com.gta5news.qwuik.LogIn}: java.lang.NullPointerException
06-03 22:34:01.178: E/AndroidRuntime(2599):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
06-03 22:34:01.178: E/AndroidRuntime(2599):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
06-03 22:34:01.178: E/AndroidRuntime(2599):     at android.app.ActivityThread.access$600(ActivityThread.java:123)
06-03 22:34:01.178: E/AndroidRuntime(2599):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
06-03 22:34:01.178: E/AndroidRuntime(2599):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-03 22:34:01.178: E/AndroidRuntime(2599):     at android.os.Looper.loop(Looper.java:137)
06-03 22:34:01.178: E/AndroidRuntime(2599):     at android.app.ActivityThread.main(ActivityThread.java:4424)
06-03 22:34:01.178: E/AndroidRuntime(2599):     at java.lang.reflect.Method.invokeNative(Native Method)
06-03 22:34:01.178: E/AndroidRuntime(2599):     at java.lang.reflect.Method.invoke(Method.java:511)
06-03 22:34:01.178: E/AndroidRuntime(2599):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-03 22:34:01.178: E/AndroidRuntime(2599):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-03 22:34:01.178: E/AndroidRuntime(2599):     at dalvik.system.NativeStart.main(Native Method)
06-03 22:34:01.178: E/AndroidRuntime(2599): Caused by: java.lang.NullPointerException
06-03 22:34:01.178: E/AndroidRuntime(2599):     at com.gta5news.qwuik.LogIn.Process(LogIn.java:32)
06-03 22:34:01.178: E/AndroidRuntime(2599):     at com.gta5news.qwuik.LogIn.onCreate(LogIn.java:26)
06-03 22:34:01.178: E/AndroidRuntime(2599):     at android.app.Activity.performCreate(Activity.java:4465)
06-03 22:34:01.178: E/AndroidRuntime(2599):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
06-03 22:34:01.178: E/AndroidRuntime(2599):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)

我知道这是事实,但这只是因为
Process()
方法中只有一行

您的实例成员
login
从未初始化过,因此它是
null
,因此,当您调用
Process()
方法时,它会抛出
NullPointerException

如果查看
onCreate()
方法,则不会将
按钮“登录”保存到实例成员,而是保存到本地成员

login = (Button) findViewById(R.id.btLogin);
这应该可以解决一个问题,但您的其他实例成员也会遇到同样的问题(至少
user
pass


我知道这是事实,但这只是因为
Process()
方法中只有一行

您的实例成员
login
从未初始化过,因此它是
null
,因此,当您调用
Process()
方法时,它会抛出
NullPointerException

如果查看
onCreate()
方法,则不会将
按钮“登录”保存到实例成员,而是保存到本地成员

login = (Button) findViewById(R.id.btLogin);
这应该可以解决一个问题,但您的其他实例成员也会遇到同样的问题(至少
user
pass


在onCreate()中删除赋值之前的声明EditText。这将生成一个本地EditText,并留下一个与全局EditText同名的空的非本地EditText。请在onCreate()中的赋值之前删除声明EditText。这将生成一个本地EditText,并留下一个与全局EditText同名的空的非本地EditText。
user = (EditText) findViewById(R.id.etUser);
pass = (EditText) findViewById(R.id.etPass);