【发布时间】:2014-02-21 11:48:36
【问题描述】:
曾几何时,我的调试器在 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);
}
}
我认为这永远不会发生。这是怎么发生的:当 isDetached() 返回 false 时 getActivity() 返回 null?
【问题讨论】:
-
嗨,谢尔盖,您从 Activity 或 Fragment 扩展了您的应用程序。请告诉我。如果您从 Activity 扩展您的应用程序,则意味着您将调用 getBaseActivity() 而不是 getActivity().getApplicationContext()。如果您从 Fragment 扩展您的应用程序,则意味着您将使用 getActivity() 而不是 getActivity().getApplicationContext()。希望它对你有帮助。谢谢
标签: android android-activity fragment