将活动上下文传递给片段内的getLastLocation的更好方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将活动上下文传递给片段内的getLastLocation的更好方法相关的知识,希望对你有一定的参考价值。

location fragment.Java

LocationActivity activity;

onCreateView(){
    mFusedLocationClient.getLastLocation()
        .addOnSuccessListener(activity, new OnSuccessListener<Location>(){
            @Override
            public void onSuccess(Location location) {
                if(location != null){
                    // update UI here ..
                }
            }
         }
    );
}

onAttach(){
    activity = (LocationActivity) context;
}

这是将活动传递到Google Location API的正确方法吗?如果是这样,为什么?如果有内存泄漏等正当理由请解释一下吗?提前致谢。抱歉懒惰打字! :)

答案

使用getActivity()在Fragment中获取Activity上下文。

addOnSuccessListener(getActivity(), new OnSuccessListener<Location>(){
    .....
}

以上是关于将活动上下文传递给片段内的getLastLocation的更好方法的主要内容,如果未能解决你的问题,请参考以下文章

将上下文传递给许多方法是否正常?

MVVM - 如何将上下文传递给存储库类?

如何将库类或对象传递给片段?

将参数传递给 XML 布局中定义的片段

如何将不同的参数传递给片段 [导航] Android

Android - 如何将自定义对象传递给片段