为什么当我有2个setOnclickListener时我的应用程序会继续崩溃?

问题描述 投票:1回答:2

当我设置2 setOnclickListener时,我的应用程序不断崩溃。有趣的是,当我只有1个按钮意图时,它不会崩溃。当我有2个按钮时,新按钮不会将我带到新屏幕,而旧按钮只会使整个应用程序崩溃。

这是我的“旧”按钮代码:

SignUp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intSignUp=new Intent(LoginActivity.this,MainActivity.class);
                startActivity(intSignUp);
            }
        });

如果这是唯一的事情,那么一切正常。但是,当我添加以下内容时,新的不起作用,而旧的则崩溃:

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

这里是Logcat:

由于:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'void android.widget.Button.setOnClickListener(android.view.View $ OnClickListener)'。>>

在com.hoversfw.notes.LoginActivity.onCreate(LoginActivity.java:96)

并且LoginActivity.java第96行是Support.setOnclickListener的开头。另外,我已经声明了所有内容:

Support=findViewById(R.id.Support);
SignUp=findViewById(R.id.textView);

这是我的XML文件代码:

<TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="12dp"
        android:text="Already have an account? Sign in!"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.505"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button" />

    <Button
        android:id="@+id/Support"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="25dp"
        android:layout_marginEnd="29dp"
        android:text="Support"
        app:layout_constraintEnd_toStartOf="@+id/about"
        app:layout_constraintHorizontal_chainStyle="packed"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView" />

我还匹配了所有ID,Android Studio未检测到错误。我想知道是什么引起了问题。更新

我已经匹配了所有内容,例如java文件和xml,没有ID相同,都声明了。而且我认为XML没有任何问题。
SignUp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intSignUp=new Intent(LoginActivity.this,MainActivity.class);
                startActivity(intSignUp);
            }
        });
        /*Support.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent support=new Intent(LoginActivity.this,Support.class);
                startActivity(support);
            }
        });*/

[如果像上面一样,则注册成功。如果是

SignUp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intSignUp=new Intent(LoginActivity.this,MainActivity.class);
                startActivity(intSignUp);
            }
        });
        Support.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent support=new Intent(LoginActivity.this,Support.class);
                startActivity(support);
            }
        });

它们都不起作用。 (不同之处是我评论了Support.setOnClickListener .....的最后一个,但是我将此作为代码。)

当我设置2 setOnclickListener时,我的应用程序不断崩溃。有趣的是,当我只有1个按钮意图时,它不会崩溃。当我有2个按钮时,新按钮不会将我带到新按钮...

java android android-studio
2个回答
1
投票

我可以直接确认您的错误,因为您没有显示xml,但也许可以做到。


0
投票

如果使用两个按钮,则需要将它们链接为两个按钮。

© www.soinside.com 2019 - 2024. All rights reserved.