0

好的,这是一个非常愚蠢的问题,但过去一个小时一直困扰着我。我会尽力解释它。

基本上,我正在编程的应用程序有一个带有标签页片段的标签活动。其中一个选项卡显示一个列表。此列表按用户与某些位置的距离排序。

所以,因为我需要用户的当前位置,所以我在托管所有片段的活动中实现了 2013 位置 API。

我的问题是,创建片段时,它会对列表进行排序。但是要对列表进行排序,它需要用户的位置。但是,用户的位置还没有确定,因为fragment是在activity中连接locationclient之前创建的。因为 locationclient 尚未连接,我收到导致应用程序崩溃的错误。

总而言之,fragment 试图在 oncreateview 方法中访问位置,但是应用程序崩溃了,因为该方法在 locationclient 连接并获取位置之前被调用。

我已经尝试了几种方法来解决这个问题,但我很难过。

有没有办法在确定位置之前延迟片段的创建?我尝试将片段/选项卡创建代码放在 onConnected() 回调中,但这有问题(例如,当设备旋转时,应用程序崩溃)。

我对应用程序开发相当陌生,所以我可能只是误解了活动生命周期。任何帮助,将不胜感激。

谢谢。

4

0 回答 0