无法在android studio中从第一个活动打开第二个活动

无法在android studio中从第一个活动打开第二个活动,android,android-layout,android-studio,Android,Android Layout,Android Studio,这是清单文件 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.paidquery.mobile"> <application android:allowBackup="true" android:icon="@mipmap/i

这是清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.paidquery.mobile">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".LoginActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".SignUpActivity"
            android:label="@string/title_activity_sign_up"
            android:theme="@style/AppTheme.NoActionBar">
        </activity>
    </application>

</manifest>
下面是我单击登录活动的注册按钮时出现的最新控制台日志错误

package com.paidquery.mobile;

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;

public class LoginActivity extends AppCompatActivity{

    public static final String LOGIN_TAG = "login_msg";
    private static Button sign_up_btn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });


        onClickSignUpBtnListner();
        Log.i(LOGIN_TAG, "Login onCreate function");
    }

    /** Sign up button click function */

    public void onClickSignUpBtnListner() {

        Log.i(LOGIN_TAG,"In onClickSignUpBtnListner call");
        sign_up_btn = (Button)findViewById(R.id.signUpBtn);

        sign_up_btn.setOnClickListener(
            new View.OnClickListener(){
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(LoginActivity.this, SignUpActivity.class);
                    startActivity(intent);
                }
            }
        );

    }
}
01-13 16:25:18.844 28104-28104/com.paidquery.mobile E/AndroidRuntime:FATAL EXCEPTION:main 进程:com.paidquery.mobile,PID:28104
java.lang.RuntimeException:无法启动activity ComponentInfo{com.paidquery.mobile/com.paidquery.mobile.SignUpActivity}:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“java.lang.CharSequence android.support.v7.widget.Toolbar.getTitle()” 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)上 位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 位于android.app.ActivityThread.-wrap11(ActivityThread.java) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)上 位于android.os.Handler.dispatchMessage(Handler.java:102) 位于android.os.Looper.loop(Looper.java:148) 位于android.app.ActivityThread.main(ActivityThread.java:5417) 位于java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:726) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 原因:java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“java.lang.CharSequence android.support.v7.widget.Toolbar.getTitle()” 位于android.support.v7.widget.ToolbarWidgetWrapper.(ToolbarWidgetWrapper.java:98) 位于android.support.v7.widget.ToolbarWidgetWrapper.(ToolbarWidgetWrapper.java:91) 在android.support.v7.app.ToolbarActionBar.(ToolbarActionBar.java:73) 在android.support.v7.app.AppCompateDelegateImplv7.setSupportActionBar(AppCompateDelegateImplv7.java:205)上 位于android.support.v7.app.AppCompatActivity.setSupportActionBar(AppCompatActivity.java:99) 在com.paidquery.mobile.SignUpActivity.onCreate(SignUpActivity.java:17)上 位于android.app.Activity.performCreate(Activity.java:6237) 位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)上 位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 位于android.app.ActivityThread.-wrap11(ActivityThread.java) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)上 位于android.os.Handler.dispatchMessage(Handler.java:102) 位于android.os.Looper.loop(Looper.java:148) 位于android.app.ActivityThread.main(ActivityThread.java:5417) 位于java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:726)
在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

上,我们需要代码

但是,这是从活动开始活动的最常见方法

假设如下:

public class MainActivity extends Activity {

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

        Button sign_up_btn = (Button) findViewById(R.id.sign_up_btn);
        sign_up_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // start activity sign up here :
                Intent intent = new Intent(MainActivity.this, SignUpActivity.class);
                startActivity(intent);
            }
    }
}
但是,正如注释中所述,您必须声明AndroidManifest.xml文件中的每个活动

范围内,您的注册活动如下所示:

<activity android:name="SignUpActivity"/>

如果将包含此活动的包放在特定的包中,请确保写入该包的名称。不需要写下您的应用程序包,因为它也应该在清单中声明

还要确保调用活动(在我的示例中,是
main活动
)中有一个适当的导入,但是Android Studio应该可以帮助您实现这一点

[更新1] 根据您的崩溃日志和您的评论,错误在于您的工具栏在注册活动中Intent intent = new Intent(LoginActivity.this, SignUpActivity.class); startActivity(intent);