问题背景描述:
项目底层布局用的是ViewPager加Fragment,一共有5个fragment,其中第1个fragment有百度LBS云检索功能,第三个也有此功能。
出现问题:
打开APP,第一个fragment的百度云检索没有问题,然后直接点到第三个fragment,百度云检索有请求,但是拿不到结果。重点来了,我现在是在第三个fragment,我切换到第五个,或者第一个,再切去第三个,这时候又有数据了。此时viewPager的预加载默认为1,我猜想是第一个页面没销毁,也就是里面的云检索管理器CloudManager没销毁。
上个版本百度SDK是3.7.0没有出这种问题,现在改为4.3.0就出现这问题了。
第一次尝试解决:
我把ViewPager预加载从底层修改为0,这时候还是不行,但是,不用点1,5切换,随便点相邻切换也可以。
第二次尝试解决:
在跳转第三个fragment的时候,通知第一个fragment销毁CloudManager,然后!奇迹出现了!!!有数据了!
但是!!!上拉加载时候,又请求没有结果。
第三次完美解决:
把底层布局改为直接用fragment管理器管理,在切换第三个页面的时候销毁第一个页面的CloudManager,然后完美解决!!(现在回想第二次的解决方案, 管理器也销毁了,但是还有问题。至今不明觉厉啊!!)
问题:请求检索有结果,但是数据一直为空。返回状态为2(非法参数)
原因:info中上传坐标错误,记住!一定是longitude在前,latitude在后。
网友评论