当我设置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文件代码:
我已经匹配了所有内容,例如java文件和xml,没有ID相同,都声明了。而且我认为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未检测到错误。我想知道是什么引起了问题。更新
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个按钮时,新按钮不会将我带到新按钮...
我可以直接确认您的错误,因为您没有显示xml,但也许可以做到。
如果使用两个按钮,则需要将它们链接为两个按钮。