【问题标题】:Could not get activity context in SupportMapFragment无法在 SupportMapFragment 中获取活动上下文
【发布时间】:2018-10-16 21:18:17
【问题描述】:

我正在创建扩展 SupportMapFragment 的新片段。在过去的项目中,使用 this.getActivity() 方法获取活动上下文没有问题,但现在不可用。有什么问题?我已经尝试过使缓存失效、清理/重建项目。

public class MapFragment extends SupportMapFragment implements OnMapReadyCallback {
...
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (getArguments() != null) {
            mParam1 = getArguments().getString(ARG_PARAM1);
        }

        rxLocation = new RxLocation(Objects.requireNonNull(this.getActivity()));
        rxPermissions = new RxPermissions(this);
        rxPermissions.setLogging(true);
        mCtx = this.getActivity();
    }

完整片段代码: https://pastebin.com/zpWXbGii

【问题讨论】:

    标签: android google-maps fragment android-context


    【解决方案1】:

    试试这个 mCtx=getApplicationContext()

    【讨论】:

    • 但是 getArguments 仍然不起作用。我很好奇 SupportMapFramgent 所基于的 Fragment 方法发生了什么......
    • getApplicationContext 也不起作用。正如您在屏幕截图中看到的那样,当我在“this”之后开始输入“g”时,只显示了 4 个方法...
    【解决方案2】:

    第二次失效有帮助。原来 Android Studio 正在使当前活动项目的缓存无效。我在另一个项目处于活动状态时进行了无效,希望所有项目缓存都将被删除。当这个有问题的项目处于前台时,我第二次开始失效。

    【讨论】:

      猜你喜欢
      • 2016-11-24
      • 1970-01-01
      • 2014-10-11
      • 2012-04-11
      • 2020-12-24
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      • 2015-05-02
      相关资源
      最近更新 更多