android - 关闭活动时重新初始化片段
问题描述
我有一个带有片段的活动,这个片段中有一个地图和一些标记。我在后台运行一项更改标记位置的服务。
每个标记都有一个布尔值“isDrawn”,只要布尔值设置为 false,地图就会通过添加绘制标记来更新(我使用 LiveData 来观察标记)每当我关闭包含我调用 onDestroyView 的片段的 Activity 时,它都会设置 isDrawn每个标记为假。这样,当我再次打开 Activity 时,标记会再绘制一次。所有这一切都很好。
问题是这样的:在片段中,我可以点击标记,当我关闭此 Activity(使用 BackButton)并且标记更改其位置(通过服务)时,它会打开一个视图,该视图有一个打开另一个 Activity 的按钮我在说Activity时,我发现地图上有两个相同的标记。
知道我能做什么吗?我应该在关闭活动时删除片段并重新创建它吗?那可能吗?如果是这样,我应该如何进行?
解决方案
在这里您可以尝试 2 个选项
- 尝试创建一个静态变量并存储一些标志值。
- 借助 isVisible() 或 getUserVisibleHint() 检查 Fragment 是否可见
推荐阅读
- android - 使用 FirebaseRecyclerPagination 创建聊天应用
- sql-server - 如何保存 SQL Server 查询名称
- javascript - 使用 FirebaseUI 身份验证组件时如何让 reCAPTCHA 工作?
- python-3.x - 使用 Pandas 实现同比增长 - 向后遍历 N 行
- javascript - 我的 Wordpress 网站可以并排显示两个脚本吗
- c# - Automapper 自定义目标属性设置器
- codeigniter - 未找到您请求的页面 - 使用 csrf 保护 CI 重新提交表单
- android - 在 BottomsheetFragment 内的 Fragment 内的 Recyclerview 不滚动?
- node.js - MULTER - req.files.filename 返回未定义
- javascript - 为什么“显示:无”是属性无法正常工作