在 android studio 中单击按钮时出现空指针异常

Getting null pointer exception while clicking on the button in android studio

我已经创建了数据库并将复选框中的值提取到数据库中。 但是当activity打开应用程序崩溃时,说明空指针异常。

我已经提供了错误来源的代码和来自 logcat 的错误消息 任何人都有答案。我现在不想重做代码,请在此建议修改。

代码:

   public void statusCheck(){
    savebtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            sqLiteDatabase = feedDB.getWritableDatabase();
            ContentValues contentValues = new ContentValues();
            if(morning.isChecked()){
                contentValues.put(COLUMN_FEED_1,"Feeding in morning");
            }
            if(lunch.isChecked()){
                contentValues.put(COLUMN_FEED_2,"Feeding on Lunch time");
            }
            if(evening.isChecked()){
                contentValues.put(COLUMN_FEED_3,"Feeding in evening");
            }
            if(dinner.isChecked()){
                contentValues.put(COLUMN_FEED_4,"Feeding in dinner");
            }

            Long rec = sqLiteDatabase.insert("Feed",null,contentValues);

            if(rec != null){

                Toast.makeText(Feedone.this, "Data is saved", Toast.LENGTH_SHORT).show();
            }
        }
    });
}

来自 Logcat 的错误:

          Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void 
          android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null 
          object reference
         at com.kidcave.pediacare.Feedone.statusCheck(Feedone.java:59)

你应该在之后调用这个函数。 还要检查您是否在创建之前对其进行了初始化。

 Button saveButton;
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_bmet_card);
        saveButton = findViewById(R.id.save_button);
        //here you can call the function

希望通过在 setContentView 之后初始化并在初始化视图之后从 onCreate 调用它。会解决的。

还要检查一下你的布局是否正确。