GetActivity () returned null when isDetached () returned false

My debugger once hit a breakpoint on Log.d:

@Override
public void onDataChanged(DataTypeChanged dataType) {
    if (!isDetached()) {
        if(getActivity()==null){
            Log.d(CommonConstants.DEBUG_TAG, "Yes, it is null.");
        }
        List<WeekViewCoreTask> tasks = DataProvider
                .getWeekViewCoreTasks(getActivity().getApplicationContext());

        mWeekView.setTasks(tasks);
    }
}

getActivity () returns null when isDetached () returns false

I thought this would never happen. How could this happen: getActivity () returned null when isDetached () returned false?

+4
source share
1 answer

Not 100% sure about this, but according to Android docs , isDetached () only returns true if it is Fragmentclearly separated from it Activity. There are several other reasons, but parental activity Fragmentmay be zero. It would be better to call instead isAddedto check if it is attached FragmenttoActivity

+7

Source: https://habr.com/ru/post/1524301/


All Articles