Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android studio 如何修复导致崩溃的setOnClickListener代码_Android Studio_Onclicklistener_Android Cardview - Fatal编程技术网

Android studio 如何修复导致崩溃的setOnClickListener代码

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

我很难找出我的代码有什么问题,我的代码在onclick侦听器尚未实现时运行,但一旦我实现onclick侦听器,它就会崩溃

 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。现在一切都好了。很高兴知道现在修好了!