Android 开始新活动onClick
我正在为我的web服务开发一个android应用程序 我已将register TextView添加到主活动中,并为OnClick Listener添加了以下代码:Android 开始新活动onClick,android,android-intent,Android,Android Intent,我正在为我的web服务开发一个android应用程序 我已将register TextView添加到主活动中,并为OnClick Listener添加了以下代码: mRegister.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startActivity(new Intent(LoginActivity.this, RegisterActiv
mRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(LoginActivity.this, RegisterActivity.class));
}
});
单击register TextView时,logcat中会返回此错误:
01-01 01:36:29.443: E/AndroidRuntime(21558): FATAL EXCEPTION: main
01-01 01:36:29.443: E/AndroidRuntime(21558): java.lang.RuntimeException: Unable to start activity ComponentInfo{us.picbox/us.picbox.RegisterActivity}: java.lang.NullPointerException
01-01 01:36:29.443: E/AndroidRuntime(21558): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1830)
01-01 01:36:29.443: E/AndroidRuntime(21558): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1851)
01-01 01:36:29.443: E/AndroidRuntime(21558): at android.app.ActivityThread.access$1500(ActivityThread.java:132)
01-01 01:36:29.443: E/AndroidRuntime(21558): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1038)
01-01 01:36:29.443: E/AndroidRuntime(21558): at android.os.Handler.dispatchMessage(Handler.java:99)
01-01 01:36:29.443: E/AndroidRuntime(21558): at android.os.Looper.loop(Looper.java:150)
01-01 01:36:29.443: E/AndroidRuntime(21558): at android.app.ActivityThread.main(ActivityThread.java:4293)
01-01 01:36:29.443: E/AndroidRuntime(21558): at java.lang.reflect.Method.invokeNative(Native Method)
01-01 01:36:29.443: E/AndroidRuntime(21558): at java.lang.reflect.Method.invoke(Method.java:507)
01-01 01:36:29.443: E/AndroidRuntime(21558): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
01-01 01:36:29.443: E/AndroidRuntime(21558): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-01 01:36:29.443: E/AndroidRuntime(21558): at dalvik.system.NativeStart.main(Native Method)
01-01 01:36:29.443: E/AndroidRuntime(21558): Caused by: java.lang.NullPointerException
01-01 01:36:29.443: E/AndroidRuntime(21558): at us.picbox.RegisterActivity.onCreate(RegisterActivity.java:85)
01-01 01:36:29.443: E/AndroidRuntime(21558): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072)
01-01 01:36:29.443: E/AndroidRuntime(21558): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1794)
01-01 01:36:29.443: E/AndroidRuntime(21558): ... 11 more
有人能解释一下这个问题吗
我知道问题出在哪里了,这是第85行:
findViewById(R.id.sign_in_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
attemptLogin();
}
});
但这在布局上是不存在的
findViewById()
找不到当前未显示的视图。您必须在视图层次结构中有一个具有android:id=“@+id/sign_in_按钮”
的视图,否则findViewById()
将返回null
,并导致此NullPointerException。原因:java.lang.NullPointerException在us.picbox.RegisterActivity.onCreate(RegisterActivity.java:85)
问题从RegisterActivity的第85行开始。Post RegisterActivity的onCreate()
方法,并指示哪一行是85。是否在清单中声明RegisterActivity?在清单中声明一个活动!!我知道问题出在哪里了,这是第85行:findviewbyd(R.id.sign_in_按钮);但这在布局上是不存在的。