I'm trying to get some vars in MainActivity after finishing another activity started in Adapter for RecyclerView. MainActivity says that I'm trying to get them from a null object reference
MainActivity
public final static int REQUEST_CODE_C = 2;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case REQUEST_CODE_C:
int course_id = data.getExtras().getInt("courseId");
boolean completeStatus = data.getExtras().getBoolean("courseCompleteStatus");
courseList.get(course_id).setCompleteStatus(completeStatus);
fullCoursesList.clear();
fullCoursesList.addAll(courseList);
courseAdapter.notifyDataSetChanged();
break;
}
}
CourseAdapter
public void onClick(View v) {
Intent intent = new Intent(context, CoursePage.class);
((Activity) context).startActivityForResult(intent, REQUEST_CODE_C);
}
CoursePage
public void onBackPressed() {
super.onBackPressed();
int courseId = getIntent().getIntExtra("courseId", -1);
boolean completeStatus = getIntent().getBooleanExtra("completeStatus", false);
Intent resultIntent = new Intent();
resultIntent.putExtra("courseId",courseId);
resultIntent.putExtra("courseCompleteStatus",completeStatus);
int course_id1 = resultIntent.getExtras().getInt("courseId");
boolean completeStatus1 = resultIntent.getExtras().getBoolean("courseCompleteStatus");
setResult(CoursePage.RESULT_OK, resultIntent);
finish();
}
I can check if extras were put properly in CoursePage by calling getExtras for the intent I put them in but after trying to get them in MainActivity I have this:
2022-07-22 13:37:36.758 17186-17186/com.bs03.zerothree E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.bs03.zerothree, PID: 17186
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=2, result=0, data=null} to activity {com.bs03.zerothree/com.bs03.zerothree.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.Bundle android.content.Intent.getExtras()' on a null object reference
at android.app.ActivityThread.deliverResults(Unknown Source:123)
at android.app.ActivityThread.handleSendResult(Unknown Source:146)
at android.app.servertransaction.ActivityResultItem.execute(Unknown Source:11)
at android.app.servertransaction.ActivityTransactionItem.execute(Unknown Source:4)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(Unknown Source:77)
at android.app.servertransaction.TransactionExecutor.execute(Unknown Source:73)
at android.app.ActivityThread$H.handleMessage(Unknown Source:127)
at android.os.Handler.dispatchMessage(Unknown Source:19)
at android.os.Looper.loopOnce(Unknown Source:176)
at android.os.Looper.loop(Unknown Source:76)
at android.app.ActivityThread.main(Unknown Source:138)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(Unknown Source:11)
at com.android.internal.os.ZygoteInit.main(Unknown Source:309)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.Bundle android.content.Intent.getExtras()' on a null object reference
at com.bs03.zerothree.MainActivity.onActivityResult(MainActivity.java:277)
at android.app.Activity.dispatchActivityResult(Unknown Source:11)
at android.app.ActivityThread.deliverResults(Unknown Source:56)
at android.app.ActivityThread.handleSendResult(Unknown Source:146)
at android.app.servertransaction.ActivityResultItem.execute(Unknown Source:11)
at android.app.servertransaction.ActivityTransactionItem.execute(Unknown Source:4)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(Unknown Source:77)
at android.app.servertransaction.TransactionExecutor.execute(Unknown Source:73)
at android.app.ActivityThread$H.handleMessage(Unknown Source:127)
at android.os.Handler.dispatchMessage(Unknown Source:19)
at android.os.Looper.loopOnce(Unknown Source:176)
at android.os.Looper.loop(Unknown Source:76)
at android.app.ActivityThread.main(Unknown Source:138)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(Unknown Source:11)
at com.android.internal.os.ZygoteInit.main(Unknown Source:309)