Android 添加了转到登录页面的功能,但应用程序却崩溃了

Android 添加了转到登录页面的功能,但应用程序却崩溃了,android,android-layout,android-intent,android-studio,Android,Android Layout,Android Intent,Android Studio,好的,我正在创建我的主屏幕,用户可以在其中登录和注册。现在,我正在尝试向登录按钮添加功能,以转到登录页面。 我正在尝试转到电子邮件登录表单(这是为登录屏幕声明的id) 这是我放在主屏幕上的代码: package com.example.yoshita.testapp; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import androi

好的,我正在创建我的主屏幕,用户可以在其中登录和注册。现在,我正在尝试向登录按钮添加功能,以转到登录页面。 我正在尝试转到电子邮件登录表单(这是为登录屏幕声明的id) 这是我放在主屏幕上的代码:

package com.example.yoshita.testapp;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;


public class HomeScreen extends ActionBarActivity {

LinearLayout email_login_form;
Button loginbutton;
Button signupbutton;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.home_screen);

    email_login_form= (LinearLayout) findViewById(R.id.email_login_form);
    loginbutton= (Button) findViewById(R.id.loginbtn);
    signupbutton= (Button)findViewById(R.id.signupbutton);
    loginbutton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           email_login_form.addView(email_login_form);

        }
    });
}
我不知道问题是什么,因为我对移动发展还不熟悉。我的应用程序在我的设备上运行的那一刻就崩溃了。编译时不会显示任何错误

Logcat看起来像这样>

02-03 15:54:46.457  15603-15603/com.example.yoshita.testapp I/SELinux﹕ Function: selinux_android_load_priority , priority [3] , priority version is VE=GOOGLE_POLICY
02-03 15:54:46.457  15603-15603/com.example.yoshita.testapp D/dalvikvm﹕ Late-enabling CheckJNI
02-03 15:54:46.627  15603-15603/com.example.yoshita.testapp I/dalvikvm﹕ Could not find method android.view.ViewGroup.onNestedScrollAccepted, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.onNestedScrollAccepted
02-03 15:54:46.627  15603-15603/com.example.yoshita.testapp W/dalvikvm﹕ VFY: unable to resolve virtual method 11752: Landroid/view/ViewGroup;.onNestedScrollAccepted (Landroid/view/View;Landroid/view/View;I)V
02-03 15:54:46.627  15603-15603/com.example.yoshita.testapp D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000
02-03 15:54:46.637  15603-15603/com.example.yoshita.testapp I/dalvikvm﹕ Could not find method android.view.ViewGroup.onStopNestedScroll, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.onStopNestedScroll
02-03 15:54:46.637  15603-15603/com.example.yoshita.testapp W/dalvikvm﹕ VFY: unable to resolve virtual method 11758: Landroid/view/ViewGroup;.onStopNestedScroll (Landroid/view/View;)V
02-03 15:54:46.637  15603-15603/com.example.yoshita.testapp D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000
02-03 15:54:46.637  15603-15603/com.example.yoshita.testapp I/dalvikvm﹕ Could not find method android.support.v7.internal.widget.ActionBarOverlayLayout.stopNestedScroll, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.setHideOnContentScrollEnabled
02-03 15:54:46.637  15603-15603/com.example.yoshita.testapp W/dalvikvm﹕ VFY: unable to resolve virtual method 9403: Landroid/support/v7/internal/widget/ActionBarOverlayLayout;.stopNestedScroll ()V
02-03 15:54:46.637  15603-15603/com.example.yoshita.testapp D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000e
02-03 15:54:46.637  15603-15603/com.example.yoshita.testapp I/dalvikvm﹕ Could not find method android.content.res.TypedArray.getChangingConfigurations, referenced from method android.support.v7.internal.widget.TintTypedArray.getChangingConfigurations
02-03 15:54:46.637  15603-15603/com.example.yoshita.testapp W/dalvikvm﹕ VFY: unable to resolve virtual method 537: Landroid/content/res/TypedArray;.getChangingConfigurations ()I
02-03 15:54:46.637  15603-15603/com.example.yoshita.testapp D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0002
02-03 15:54:46.637  15603-15603/com.example.yoshita.testapp I/dalvikvm﹕ Could not find method android.content.res.TypedArray.getType, referenced from method android.support.v7.internal.widget.TintTypedArray.getType
02-03 15:54:46.637  15603-15603/com.example.yoshita.testapp W/dalvikvm﹕ VFY: unable to resolve virtual method 559: Landroid/content/res/TypedArray;.getType (I)I
02-03 15:54:46.637  15603-15603/com.example.yoshita.testapp D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0002
02-03 15:54:46.697  15603-15603/com.example.yoshita.testapp D/AndroidRuntime﹕ Shutting down VM
02-03 15:54:46.697  15603-15603/com.example.yoshita.testapp W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x417f8da0)
02-03 15:54:46.697  15603-15603/com.example.yoshita.testapp E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.example.yoshita.testapp, PID: 15603
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.yoshita.testapp/com.example.yoshita.testapp.HomeScreen}: java.lang.NullPointerException
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2441)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2500)
            at android.app.ActivityThread.access$900(ActivityThread.java:171)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1309)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:146)
            at android.app.ActivityThread.main(ActivityThread.java:5679)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
            at com.example.yoshita.testapp.HomeScreen.onCreate(HomeScreen.java:27)
            at android.app.Activity.performCreate(Activity.java:5582)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2405)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2500)
            at android.app.ActivityThread.access$900(ActivityThread.java:171)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1309)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:146)
            at android.app.ActivityThread.main(ActivityThread.java:5679)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
            at dalvik.system.NativeStart.main(Native Method)
02-03 15:59:04.757  16641-16641/com.example.yoshita.testapp I/SELinux﹕ Function: selinux_android_load_priority , priority [3] , priority version is VE=GOOGLE_POLICY
02-03 15:59:04.767  16641-16641/com.example.yoshita.testapp D/dalvikvm﹕ Late-enabling CheckJNI
02-03 15:59:04.907  16641-16641/com.example.yoshita.testapp I/dalvikvm﹕ Could not find method android.view.ViewGroup.onNestedScrollAccepted, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.onNestedScrollAccepted
02-03 15:59:04.907  16641-16641/com.example.yoshita.testapp W/dalvikvm﹕ VFY: unable to resolve virtual method 11752: Landroid/view/ViewGroup;.onNestedScrollAccepted (Landroid/view/View;Landroid/view/View;I)V
02-03 15:59:04.907  16641-16641/com.example.yoshita.testapp D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000
02-03 15:59:04.907  16641-16641/com.example.yoshita.testapp I/dalvikvm﹕ Could not find method android.view.ViewGroup.onStopNestedScroll, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.onStopNestedScroll
02-03 15:59:04.907  16641-16641/com.example.yoshita.testapp W/dalvikvm﹕ VFY: unable to resolve virtual method 11758: Landroid/view/ViewGroup;.onStopNestedScroll (Landroid/view/View;)V
02-03 15:59:04.907  16641-16641/com.example.yoshita.testapp D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000
02-03 15:59:04.907  16641-16641/com.example.yoshita.testapp I/dalvikvm﹕ Could not find method android.support.v7.internal.widget.ActionBarOverlayLayout.stopNestedScroll, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.setHideOnContentScrollEnabled
02-03 15:59:04.907  16641-16641/com.example.yoshita.testapp W/dalvikvm﹕ VFY: unable to resolve virtual method 9403: Landroid/support/v7/internal/widget/ActionBarOverlayLayout;.stopNestedScroll ()V
02-03 15:59:04.907  16641-16641/com.example.yoshita.testapp D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000e
02-03 15:59:04.917  16641-16641/com.example.yoshita.testapp I/dalvikvm﹕ Could not find method android.content.res.TypedArray.getChangingConfigurations, referenced from method android.support.v7.internal.widget.TintTypedArray.getChangingConfigurations
02-03 15:59:04.917  16641-16641/com.example.yoshita.testapp W/dalvikvm﹕ VFY: unable to resolve virtual method 537: Landroid/content/res/TypedArray;.getChangingConfigurations ()I
02-03 15:59:04.917  16641-16641/com.example.yoshita.testapp D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0002
02-03 15:59:04.917  16641-16641/com.example.yoshita.testapp I/dalvikvm﹕ Could not find method android.content.res.TypedArray.getType, referenced from method android.support.v7.internal.widget.TintTypedArray.getType
02-03 15:59:04.917  16641-16641/com.example.yoshita.testapp W/dalvikvm﹕ VFY: unable to resolve virtual method 559: Landroid/content/res/TypedArray;.getType (I)I
02-03 15:59:04.917  16641-16641/com.example.yoshita.testapp D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0002
02-03 15:59:04.967  16641-16641/com.example.yoshita.testapp D/AndroidRuntime﹕ Shutting down VM
02-03 15:59:04.967  16641-16641/com.example.yoshita.testapp W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x417f8da0)
02-03 15:59:04.977  16641-16641/com.example.yoshita.testapp E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.example.yoshita.testapp, PID: 16641
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.yoshita.testapp/com.example.yoshita.testapp.HomeScreen}: java.lang.NullPointerException
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2441)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2500)
            at android.app.ActivityThread.access$900(ActivityThread.java:171)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1309)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:146)
            at android.app.ActivityThread.main(ActivityThread.java:5679)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
            at com.example.yoshita.testapp.HomeScreen.onCreate(HomeScreen.java:27)
            at android.app.Activity.performCreate(Activity.java:5582)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2405)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2500)
            at android.app.ActivityThread.access$900(ActivityThread.java:171)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1309)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:146)
            at android.app.ActivityThread.main(ActivityThread.java:5679)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
            at dalvik.system.NativeStart.main(Native Method)
02-03 15:59:14.767  16641-16641/com.example.yoshita.testapp I/Process﹕ Sending signal. PID: 16641 SIG: 9
主屏幕XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:id="@+id/background"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".HomeScreen">

    <TextView android:text="@string/hello_world" android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/title"
        android:clickable="false"
        android:textAlignment="center"
        android:textSize="30dp"
        android:textStyle="bold|normal"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/Homescreen_img"
        android:isScrollContainer="false"
        android:src="@drawable/logo"
        android:layout_marginTop="24dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:gravity= "center"/>

    <Button
       android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Login"
        android:id="@+id/loginbutton"
        android:layout_marginTop="46dp"
        android:layout_below="@+id/title"
        android:layout_centerHorizontal="true"
        android:gravity= "center"
        android:clickable="true"
        />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Sign Up"
        android:id="@+id/signupbutton"
        android:layout_below="@+id/loginbutton"
        android:layout_alignLeft="@+id/loginbutton"
        android:layout_alignStart="@+id/loginbutton"
        android:gravity= "center"
        />

</RelativeLayout>

布局中没有
loginbtn
。按钮的id似乎是
loginbutton
。这就是为什么
findViewById()
返回
null
并在null上调用
setOnClickListener()
会导致NPE

就这点而言,布局中也没有
email\u login\u form
视图。
另外,您的
onClick()
中的代码没有任何意义,但它不是stacktrace中NPE的原因。

您的logcat在哪里?
email\u login\u form.addView(email\u login\u form)
可能重复您可以发布主屏幕的xml布局和崩溃的logcat输出。我已经添加了我的logcat输出和主屏幕xml布局。更正了。我不确定,但我必须使用意图来做我想做的事情吗?