Android studio 如何修复导致崩溃的setOnClickListener代码
我很难找出我的代码有什么问题,我的代码在onclick侦听器尚未实现时运行,但一旦我实现onclick侦听器,它就会崩溃Android studio 如何修复导致崩溃的setOnClickListener代码,android-studio,onclicklistener,android-cardview,Android Studio,Onclicklistener,Android Cardview,我很难找出我的代码有什么问题,我的代码在onclick侦听器尚未实现时运行,但一旦我实现onclick侦听器,它就会崩溃 public class menu extends AppCompatActivity implements View.OnClickListener { private CardView assess, profile, chatbot, breathing; @Override protected void onCreate(Bundle
public class menu extends AppCompatActivity implements View.OnClickListener {
private CardView assess, profile, chatbot, breathing;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
assess = (CardView) findViewById(R.id.assess);
profile = (CardView) findViewById(R.id.profile);
chatbot = (CardView) findViewById(R.id.chatbot);
breathing = (CardView) findViewById(R.id.breathing);
// assess.setOnClickListener(this);
// profile.setOnClickListener(this);
// chatbot.setOnClickListener(this);
// breathing.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// Intent i;
//
// switch (v.getId()){
//
//
// case R.id.assess :
// i = new Intent(this,depression_assessment.class);
// startActivity(i);
// break;
}
}
//}
当我试着调试代码时,这些行是崩溃的原因
// assess.setOnClickListener(this);
// profile.setOnClickListener(this);
// chatbot.setOnClickListener(this);
// breathing.setOnClickListener(this);
问题就从这里开始,因为即使onclick是空的,代码也可以工作。当我检查日志时,它显示了这个错误
java.lang.RuntimeException:无法启动活动
ComponentInfo{com.example.thesis/com.example.thesis.menu}:
java.lang.NullPointerException:尝试调用虚拟方法“void”
androidx.cardview.widget.cardview.setOnClickListener(android.view.view$OnClickListener)'
关于空对象引用
您没有显示足够的代码,但这可能是由于以下几个原因造成的:
这行代码<代码>呼吸=(CardView)findViewById(R.id.breathing)将在活动的布局中查找id为
的视图,根据错误,该视图为空,这意味着它没有在同一活动的布局中找到该视图,因此请确保您的cardView位于此活动的布局中。另一个可能的原因是您的xml文件中可能有重复的ID,在本例中,请找到重复的ID并重命名ID。Hi!谢谢回复,我有两个菜单xml文件,一个是普通xml,另一个是v21。我使用的是普通的xml文件,但代码使用的布局是v21。现在一切都好了。很高兴知道现在修好了!