MapView 没有从 ViewPager 中删除?

2024-02-25

在我的应用程序中,我试图在 ViewPager 内实现地图视图。我的应用程序中有 4 个不同的页面。 MapView在第四页。我确实成功加载了地图,但是当我滑回第一页时,必须使用 destroyItem() 方法销毁第四个视图。如果我刷到第四页,它会从第三页崩溃,并在 logcat 中显示错误:

05-10 13:14:50.152: E/AndroidRuntime(620): java.lang.IllegalStateException: You are only allowed to have a single MapView in a MapActivity

我知道 MapActivity 中只有一个地图视图。但我无法解决它 - 谁能帮助我?

代码如下:

public Object instantiateItem(View collection, int position) {

   LayoutInflater inflater = (LayoutInflater) collection.getContext()
         .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
   context = collection.getContext();
   int resId = 0;
   int flag = resId;
   switch (position) {
   case 0:
      resId = R.layout.farleft; // first
      view = inflater.inflate(resId, null);

      break;
   case 1:
      resId = R.layout.left; // second
      view = inflater.inflate(resId, null);

      break;
   case 2:
      resId = R.layout.right; // third
      view = inflater.inflate(resId, null);

      break;
   case 3:
      resId = R.layout.mylocator;
      view = inflater.inflate(resId, null);
      break;

   }
   ((ViewPager) collection).addView(view, 0);

   return view;
}

@Override
public void destroyItem(View arg0, int arg1, Object arg2) {

   ((ViewPager) arg0).removeView((View) arg2);
   Log.d("destroyItem", "" + arg2);
}

我已经找到了解决方案。 在包含 Map 并由 ViewPager 使用的片段中,输入:

private View myView;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    if (this.myView == null){
        this.myView = inflater.inflate(R.layout.my_layout, container, false);
    }
    else if (this.myView.getParent() != null) {
        FrameLayout parentView = (FrameLayout) this.myView.getParent();
        parentView.removeView(this.myView);
    }

    return this.myView;

}

它对我来说效果很好,请告诉我它是否适合你;)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MapView 没有从 ViewPager 中删除? 的相关文章

  • 使用DBFlow,如何加密已经存在的数据库?

    我正在使用 DBFlow 来处理项目中的数据库 并且我想对现有数据库进行加密 我知道我可能必须删除现有的未加密数据库并创建另一个加密数据库 我也知道我可以将 SQLCipher 与 DBFlow 一起使用 如上所述文档 https gith
  • 音频流的最佳实践

    我正在编写一个应用程序来播放远程服务器的音频 我尝试了多种方法来实现流音频 但它们对我来说都不够好 这就是我尝试过的 幼稚地使用 MediaPlayer 就像是 MediaPlayer player new MediaPlayer play
  • 虚拟回调接口

    在 Eclipse 为您创建的来自 Google 的示例主从流代码中 片段中包含以下内容 private Callbacks mCallbacks sDummyCallbacks public interface Callbacks pub
  • 使用 proguard 混淆文件名

    我正在使用 proguard 和 Android Studio 混淆我的 apk 当我反编译我的apk时 我可以看到很多文件 例如aaa java aab java ETC 但我项目中的所有文件都有原始名称 有没有办法混淆我的项目的文件名
  • 蓝牙 BLE Android 以最大吞吐量写入外设

    我们公司开发了一个具有蓝牙 BLE 的硬件单元 并且我们在 Nexus 7 2013 中有一个服务应用程序 我们希望使用它向该单元发送固件文件 文件最大可达 500kb BT芯片是德州仪器CC2540 我浏览了大量的页面 并扫描了 Stac
  • VOIP通话录音

    我正在开发一个在 android 中录制 VOIP 通话的项目 我没有找到任何解决方案 有很多应用程序支持手机上的 VOIP 录音 我找不到任何教程和帮助 立方体通话记录器 https play google com store apps
  • 如何在Android中的DataBinding的ViewModel类中获取R.string

    我目前正在使用databinding对于我的 Android 应用程序项目 我想设置error留言在我的CustomTextView from R string txtOldPassWordError并从另一个名为的类中进行设置ViewMo
  • 如何使用 Google 的 GithubBrowserSample 方法在片段之间共享视图模型?

    我对 Android 架构组件的使用非常陌生 因此我决定使用 GithubBrowserSample 来构建我的应用程序来实现我的许多用例 但我有一个问题 我不知道使用这种方法在片段之间共享视图模型的正确方法是什么 我想共享视图模型 因为我
  • 如何清除Android剪贴板?

    我发现的方法都不起作用 这是我尝试过的 1 使用clearPrimaryClip 的方法ClipboardManager class ClipboardManager clipboard ClipboardManager getSystem
  • 在光标所在行强制关闭!

    嘿 我正在尝试创建一个应用程序来查找存储在 SQlite 数据库中的 GPS 数据 但我面临一个问题 我构建了一个 DbAdapter 类来创建数据库 现在我尝试使用以下函数从另一个类获取所有数据上的光标 public Cursor fet
  • 如何在android中的谷歌地图上聚焦标记

    我只是想知道我们是否可以关注 Android 应用程序中添加的标记 如果是 怎么办 或者有没有其他方法可以完成这项任务 可以说我使用下面的代码添加了一个标记 map addMarker new MarkerOptions title tit
  • 我在 android studio 中使用 kotlin 时出现错误

    为什么会出现这个错误 09 12 16 36 31 502 1886 1886 com getloction nourmedhat smartgate getlocation E AndroidRuntime 致命异常 main 进程 co
  • 使用 Proguard 通过 Dropbox.com 库混淆 Android 应用程序

    我刚刚创建了一个需要 Dropbox com API 库的 Android 应用程序 我现在尝试在 发布 模式下构建应用程序 并希望在代码上运行混淆器以对其进行混淆 但是 每当我尝试运行 Proguard 时 都会收到以下错误 Progua
  • 活动加载缓慢

    我的应用程序中有大约 50 个活动 但其中一个活动非常慢 我的意思是当我按下按钮进入该活动时 需要很长时间 有时会出现黑屏 在该活动中 我有一个按钮 如果我单击该按钮 则需要很长时间才能执行 代码很轻 只有一个Button EditText
  • Android 中 Activity 之间的 3D 动画

    How to create animation between two Activity look like As Screen shot in android 搜索jazzyviewpager 这是link https github co
  • 通过 Gradle 和 Android Studio 构建和运行应用程序比通过 Eclipse 慢

    我有一个多项目 10 个模块 每次构建大约需要 20 30 秒 当我在 Android Studio 中按 运行 时 每次都必须等待才能重建应用程序 这非常慢 是否可以在 Android Studio 中自动化构建过程 或者您对如何加快此过
  • XML 配置中的 screenName 不起作用

    我刚刚在我的应用程序中添加了对 Google Analytics 分析 的支持 但我无法
  • Android ScrollView,检查当前是否滚动

    有没有办法检查标准 ScrollView 当前是否正在滚动 方向是向上还是向下并不重要 我只需要检查它当前是否正在滚动 ScrollView当前形式不提供用于检测滚动事件的回调 有两种解决方法可用 1 Use a ListView并实施On
  • Android:透明活动问题

    最近 在我们的一款生产应用程序上 透明活动已停止工作 我的意思是它变成了黑色背景而不是透明背景 当我将活动的背景颜色设置为纯色 即红色 绿色等 时 它的应用不会出现问题 该问题可能是由于迁移到 AndroidX 引起的 但我没有这方面的证据
  • Android 的代码覆盖率[重复]

    这个问题在这里已经有答案了 可能的重复 Android测试代码覆盖率 Eclipse https stackoverflow com questions 3282702 android test code coverage eclipse

随机推荐

  • 通俗地说,Java 中的“静态”是什么意思? [复制]

    这个问题在这里已经有答案了 我被告知了它的几个定义 查看了维基百科 但作为 Java 的初学者 我仍然不确定它的含义 有人精通 Java 吗 static 意味着标记为此类的变量或方法在类级别可用 换句话说 您不需要创建该类的实例来访问它
  • 如何使用 RefersToRange?

    谁能告诉我如何在vba中使用RefersToRange 以及什么时候需要它 请先提供简单的例子 提前致谢 在Excel中 有一个概念 命名范围 这是一个带有名称的单元格范围 这由Name https msdn microsoft com e
  • 刷新 firebase id 令牌服务器端

    我正在开发一个使用 Next js 13 和带有 id 令牌的 firebase auth 的应用程序 我想利用服务器端组件的 Next JS 内置功能来更快地获取用户数据 因此我需要在初始请求时验证服务器上的 id 令牌 当没有用户登录受
  • 使用pdfminer从pdf中提取文本给出多个副本

    我正在尝试使用 PDFMiner 从 PDF 文件中提取文本 代码位于在Python中使用PDFMiner从PDF文件中提取文本 https stackoverflow com questions 26494211 extracting t
  • 以编程方式选择 jqGrid 中的所有行?

    以编程方式选择设置为多选的 jqGrid 中的所有行的最佳方法是什么 该代码可以一次循环遍历所有行并选择每一行 但不会选中网格标题中的复选框 我正在考虑只触发标题行复选框的单击事件 但这会对底层 jqGrid 实现做出假设 一定会有更好的办
  • 使用动态规划将球分配到“给定容量的箱子”中

    我想知道如何使用DP解决这样的问题 给定 n 个球和 m 个箱子 每个箱子有 max 容量 c1 c2 cm 将这 n 个球分配到这 m 个箱子中的方式总数是多少 我面临的问题是 如何找到递归关系 当容量都是单个常数 c 时我可以 将有多个
  • 如何在 django 中安排将来某个时间发送电子邮件?

    我想安排在执行特定操作时向用户发送电子邮件 但是 如果用户采取其他操作 我想取消该电子邮件并且不发送它 我该如何在 django 或 python 中做到这一点 豆茎 如果可以安装的话豆茎 http kr github com beanst
  • C 的 GCD 函数

    Q 1 问题5 可整除 我尝试了蛮力法 但是需要时间 所以我参考了几个网站 找到了这段代码 include
  • ChartJS 甜甜圈图表渐变填充

    因此 我尝试为 ChartJS 圆环图进行渐变填充 但这仅适用于水平方向 而不适用于圆形 这是我正在使用的代码 var ctx document getElementById chart area getContext 2d var gra
  • 仅显示 shell_exec('df') 中磁盘使用数据的特定列

    我正在尝试编写一个 PHP 脚本来执行用于报告的 shell 函数 我从磁盘使用报告开始 我想要以下格式 drive path total size free space 没有其他的 我的脚本是 output shell exec df h
  • 我可以在 TCPDF 中使用“旧式”(非衬里)数字吗?

    Unicode 不区分衬里数字 与大写字母具有相同的比例 在表格中很有用 但在运行文本中很突出 和非衬里数字 它们看起来更像小写字母 具有上升部分和下降部分 因为它认为它们是彼此的变体 不过 许多字体都具有两组数字 并提供了一种在它们之间进
  • Mozilla firefox 无法使用 window.onbeforeunload

    我在用着window onbeforeunload在窗口关闭时向用户显示消息 该功能在 Chrome 和 IE 上运行良好 但在 Firefox 上不起作用 我使用的是 Firefox 版本26 0我已经尝试了很多 但没有任何意义 有人说这
  • 如何通过解耦的后端和前端进行社交身份验证(Passport / Express / React)

    我正在尝试使用 PassportJS Express 后端和 React JS 前端来进行社交身份验证 但是 我不确定如何去做 我做了一些阅读并实现了社交身份验证 当使用 Google Auth 登录时 它会返回由 Express 应用程序
  • 是否建议在 bash 脚本中捕获 SIGPIPE?

    我在使用系统调用命令从 C 执行 bash 脚本时遇到问题 该脚本捕获了一个SIGPIPE发出信号并退出并返回代码141 这个问题只在我的代码的最后一个版本中开始出现 我的问题如下 为什么这个 SIGPIPE 现在出现而以前没有出现 忽略
  • 带脚本的文本编辑器...适用于 Linux

    一段时间以来 我一直在我的 Windows 机器上使用 UltraEdit 事实证明 使用熟悉的语言 JavaScript 编写脚本的能力非常有用 唯一的问题是我无法在工作时在我的 Linux 机器上使用它 是否有在 Linux 上运行并具
  • 如何“解码”UTF-8 字符?

    假设我想编写一个函数来比较两个 Unicode 字符 我该怎么做呢 我读了一些文章 比如this http en wikipedia org wiki UTF 8 但还是没明白 让我们来 作为输入 已经在范围内了0x0800 and 0xF
  • WIA服务2、在windows xp/7上下载并安装

    我编写了一个从扫描仪扫描图像的应用程序 这在我的开发机器 win7 Ultimate sp1 64位 上运行良好 我尝试在 Windows XP 计算机 或 Windows Server 2008 标准 上运行该应用程序 但失败并出现此错误
  • Android IllegalArgumentException:如果应用程序在后台运行一段时间,则状态类错误

    如果我设置应用程序背景 我认为这是由于内存不足造成的 日志如下 java lang RuntimeException Unable to start activity ComponentInfo com qingdaonews bus co
  • 标头包含深度限制[重复]

    这个问题在这里已经有答案了 我想知道 包含头文件时 包含文件的深度可以无限增加吗 你能在编译时指定一个限制吗 Example main c include A h const int xyz CONST VALUE A h include
  • MapView 没有从 ViewPager 中删除?

    在我的应用程序中 我试图在 ViewPager 内实现地图视图 我的应用程序中有 4 个不同的页面 MapView在第四页 我确实成功加载了地图 但是当我滑回第一页时 必须使用 destroyItem 方法销毁第四个视图 如果我刷到第四页