When I invoke getExtras.getBoolean(key) for my isDeleted boolean, it keeps setting itself to false, even though I'm passing in true. Any insight on why this is occurring? I've tried a lot of other methods, but haven't been successful in keeping the boolean value TRUE.
Other Activity:
public void deleteWorkout(View view)
{
intent.putExtra("listPosition", intent.getExtras().getInt("position"));
intent.putExtra("isDeleted", true);
setResult(RESULT_OK, intent);
finish();
}
Main Activity:
case(List): {
if(resCode == Activity.RESULT_OK)
{
boolean isDeleted = intent.getExtras().getBoolean("isDeleted");
int listPosition = intent.getExtras().getInt("listPosition");
if(isDeleted)
{
adapter.remove(workoutList.get(listPosition));
adapter.notifyDataSetChanged();
}
}
}
default:
break;
}
There are two ways you can fix this and understanding why might save you the headache again in the future.
putExtras
isn't the same asputExtra
. So what's the difference?putExtras
will expect a bundle to be passed in. When using this method, you'll need to pull the data back out by using:putExtra will expect (in your case) a string name and a boolean value. When using this method, you'll need to pull the data back out by using:
You're using a mix of the two, which means you're trying to get a boolean value out of a bundle that you haven't actually set, so it's using the default value (false).
There is two way pass/get data one activity to another activity.
1.add data to intent.
how to put :
how to get :
2.Add data to bundle and add bundle to intent.
how to put :
how to get :