在 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 调用它。会解决的。
还要检查一下你的布局是否正确。
我已经创建了数据库并将复选框中的值提取到数据库中。 但是当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 调用它。会解决的。
还要检查一下你的布局是否正确。