百度地图来回返回点击偶尔会出现的崩溃

崩溃信息如下:

0 _baidu_vi::CVString::IsEmpty() const:

1 _baidu_framework::CBVDBMission::Recevied(_baidu_vi::CVString&, char*, int, int):

2 _baidu_framework::CBVMDDataVMP::RstProc(unsigned int, unsigned int, long, unsigned long):

3 _baidu_framework::CBVMDDataVMP::Update(void*, unsigned int, unsigned int, unsigned int, _baidu_vi::tag_MessageExtParam const&):

4 _baidu_vi::CVHttpClient::EventNotify(_baidu_vi::EN_HTTP_TYPE, unsigned int, int, int, unsigned int, unsigned int):

5 _baidu_vi::CVHttpClient::NotifyReceiveArrival(_baidu_vi::CVHttpSocket*, int, int):

6 _baidu_vi::CVHttpClient::OnReceive(_baidu_vi::CVHttpSocket*):

7 _baidu_vi::CVHttpClient::InternalHttpSocketCallBack(_baidu_vi::CVHttpSocket*, _baidu_vi::EN_HTTPSOCKET_CB_TYPE):

8 _baidu_vi::CVHttpClient::HTTPSocketCallBack(void*, void*, _baidu_vi::EN_HTTPSOCKET_CB_TYPE):

9 _baidu_vi::CVHttpSocket::OnReceive():

10 _baidu_vi::CVHttpSocket::InternalSocketCallBack():

11 _baidu_vi::CVHttpSocket::VISocketCallBack(void*):

12 _baidu_vi::CVSocketMan::SocketThreadProc(void*):

13 _pthread_body:

14 _pthread_start:

15 thread_start:

集成百度地图时,官方文档里面会让你引入OpenGLES.framework等好多框架,等我们都整理完后,来回多点几次发现偶尔会出现以上错误。
解决方法:
把工程里面的OpenGLES.freamwork框架移除
OpenGLES.framework:提供简洁而高效的绘制2D和3D图形的OpenGL API子集
这个框架可能和百度地图里面的其它功能有关系,但是暂时只显示位置的功能里面没有用到,就暂时这样先解决吧。

在鸿蒙系统中,可以通过自定义组件的方式来实现点击图片来回切换的效果。下面是一个简单的实现方式: 1. 创建一个包含两张图片的自定义组件,可以使用StackLayout来实现图片的叠加。 ``` <StackLayout ohos:id="$+id:stack_layout" ohos:height="match_content" ohos:width="match_content" ohos:orientation="vertical"> <Image ohos:id="$+id:image1" ohos:height="match_content" ohos:width="match_content" ohos:src="$media:img1.png" ohos:scale_mode="fit_center"/> <Image ohos:id="$+id:image2" ohos:height="match_content" ohos:width="match_content" ohos:src="$media:img2.png" ohos:scale_mode="fit_center" ohos:visibility="invisible"/> </StackLayout> ``` 2. 在组件的click事件中切换图片的可见性,从而实现来回切换的效果。 ``` Component component = findComponentById(ResourceTable.Id_stack_layout); component.setClickedListener(new Component.ClickedListener() { @Override public void onClick(Component component) { Image image1 = (Image)findComponentById(ResourceTable.Id_image1); Image image2 = (Image)findComponentById(ResourceTable.Id_image2); if (image1.getVisibility() == Component.VISIBLE) { image1.setVisibility(Component.INVISIBLE); image2.setVisibility(Component.VISIBLE); } else { image1.setVisibility(Component.VISIBLE); image2.setVisibility(Component.INVISIBLE); } } }); ``` 以上代码中,我们通过获取图片组件的可见性来判断应该显示哪张图片,然后通过设置可见性来切换图片。这样,当用户点击图片时就实现来回切换的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值