【问题标题】:Best way to handle NullPointerException after Network Calls?网络调用后处理 NullPointerException 的最佳方法?
【发布时间】:2016-07-01 07:38:13
【问题描述】:

大多数时候,网络调用会在 Fragment 分离后完成,这就是 getActivity() 返回 null 的原因。您对此的典型解决方案是什么?

解决方案 #1:当片段暂停时,终止所有网络调用。

解决方案 #2:添加“isDetached()”检查

解决方案 #3:添加“isAdded()”检查

解决方案 #4:获取 Activity 的引用,mActivity

【问题讨论】:

  • #4 几乎不是解决方案,它只是提出问题。 getActivty() 返回 null 是有原因的
  • “您对此的典型解决方案是什么?” MVP。阅读更多关于它的信息here

标签: android android-fragments


【解决方案1】:

我更喜欢解决方案 4。我在访问共享首选项时遇到了问题,getActivity() 为空。引用活动解决了这个问题。

Activity mActivity;

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);
    this.mActivity = activity;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-18
    • 2016-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-11
    • 2014-09-19
    • 1970-01-01
    相关资源
    最近更新 更多