Android 地图 v2 在第二次充气时出现错误

2023-12-23

我正在尝试在我的应用程序中使用新的 Android 地图。

我有一个 FragmentActivity,其布局包含(除其他外):

<LinearLayout a:id="@+id/fragment_container"
    a:layout_width="fill_parent"
    a:layout_height="100dp"
    a:layout_weight="1"/>

它还有一个按钮,可以使用以下命令更改此片段(主要是从示例项目复制的):

if (condition) {
    fragment = new Fragment1();
} else {
    fragment = new LocationFragment();
}
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();

和 LocationFragment 是:

public class LocationFragment extends SupportMapFragment{
private GoogleMap mMap;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    super.onCreateView(inflater, container, savedInstanceState);
    view = inflater.inflate(R.layout.map_fragment, container, false);
    setUpMapIfNeeded();
    return view;
}

@Override
public void onResume() {
    super.onResume();
    setUpMapIfNeeded();
}

private void setUpMapIfNeeded() {
    // Do a null check to confirm that we have not already instantiated the map.
    if (mMap == null) {
        // Try to obtain the map from the SupportMapFragment.
        mMap = ((SupportMapFragment)  getActivity().getSupportFragmentManager().findFragmentById(R.id.map))
                .getMap();
        // Check if we were successful in obtaining the map.
        if (mMap != null) {
            setUpMap();
        }
    }
}

private void setUpMap() {
    mMap.addMarker(new MarkerOptions().position(new LatLng(60.02532, 30.370552)).title(getString(R.string.map_current_location)));
}
}

xml布局是:

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/map"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      class="com.google.android.gms.maps.SupportMapFragment"/>

问题是,当我们第二次用 LocationFragment 替换 Fragment 时,Android 无法从 xml 进行 inflate。上线就崩溃了:

view = inflater.inflate(R.layout.map_fragment, container, false);

但有例外:

12-17 01:47:31.209: ERROR/AndroidRuntime(4679): FATAL EXCEPTION: main
    android.view.InflateException: Binary XML file line #4: Error inflating class fragment
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:587)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:386)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
    at my.package.LocationFragment.onCreateView(LocationFragment.java:29)
    ...

我不知道如何解决它。 我认为这可能与一个老问题有关,即您不能使用多个地图视图(在 android 地图 v1 上发现了问题)。 但如果 v2 和片段支持,它一定是用地图片段替换片段容器的方式,对吗?


将您的地图视图片段删除到 onDestroyView 方法中。

Fragment fragment = (getFragmentManager().findFragmentById(R.id.mapview));
FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
ft.remove(fragment);
ft.commit();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 地图 v2 在第二次充气时出现错误 的相关文章

  • Android 上的 SVG 支持

    Android 支持 SVG 吗 有什么例子吗 最完整的答案是这样的 Android 2 x 默认浏览器本身不支持 SVG Android 3 默认浏览器支持 SVG 要将 SVG 支持添加到 2 x 版本的平台 您有两个基本选择 安装功能
  • 自定义选择器活动:SecurityException UID n 无权 content:// uri

    我正在构建一个选择器应用程序来替换本机 Android 共享对话框 它工作正常 除非我尝试通过长按图像 gt 共享图像从 Chrome 共享图像 我发现 Google 没有捕获异常 它崩溃了 所以我可以通过 Logcat 查看它 在 Goo
  • 安卓定位不准确

    我正在尝试获取当前用户的位置 我试图重构我的代码以获得更好的结果 但我只是不断得到关于准确度的荒谬位置 它在 900 600 米之间 如何才能得到更好的结果 使其精度达到50m以内 这是我的代码 package com agam mapsl
  • 带操作按钮的颤动本地通知

    我在我的 flutter 项目中尝试了 flutter 本地通知插件 它在简单通知上工作正常 但我需要带有操作按钮的通知功能 请帮助我或建议我实现此功能 不幸的是 flutter local notifications 插件尚不支持操作按钮
  • 使用 Retrofit2 和 Mockito 或 Robolectric 进行 Android 单元测试

    我可以测试 Retrofit2beta4 的真实响应吗 我需要 Mockito 或 Robolectic 吗 我的项目中没有活动 它将是一个库 我需要测试服务器是否正确响应 现在我有这样的代码并卡住了 Mock ApiManager api
  • AudioTrack、SoundPool 或 MediaPlayer,我应该使用哪个?

    如果我需要能够 播放多个音频文件 具有不同的持续时间 例如 5 到 30 秒 独立设置右 左声道的音量 应用声音效果 如混响 失真 那么 我应该使用哪个 API 另外 我在 AudioTrack API 上找不到太多文档 有谁知道在哪里可以
  • Camera.open()返回NULL Android开发

    我正在按照构建相机应用程序的教程进行操作http developer android com tools device html http developer android com tools device html我对 Camera o
  • Android 应用程序中的 Eszett (ß)

    我的 res layout activity 文件中的德语 字符在我的应用程序中自动转换为 ss 即使我将语言和键盘设置为德语 它仍然不会显示 Android 中可以显示 吗 edit
  • 如何检查用户在EditText中输入自己的电话号码?

    用户将在我的 Android 应用程序的注册页面上的编辑文本中输入手机号码 如何检查用户输入的是他 她的手机号码而不是其他人的 我试过这个 TelephonyManager tMgr TelephonyManager mAppContext
  • 如何检查 Android 中连接的 wifi 网络是否处于活动状态

    如何自动检查android中连接的WiFi网络上的互联网是否处于活动状态 我可以检查 wifi 是否已启用或 wifi 网络是否已连接 但我不确定如何检查互联网是否已连接 这可能吗 private boolean connectionAva
  • 如何在TableLayout中创建三列

    我正在开发一个使用的屏幕TableLayout 在这里我可以轻松创建两列 但我怎样才能创建三列呢 这里有一个例子
  • 使用 PhoneGap 使 Android 应用程序易于访问(对于残障人士)

    有人有过使用 PhoneGap 使 Android 应用程序可访问的经验吗 至少我们需要使我们的应用程序符合第 508 条规定 我尝试实现一些标准的辅助功能 文本框标签 向 div 添加标题属性等 但是 当在 Android 中使用 Tal
  • PhoneStateListener 不调用

    这是我的完整代码 广播示例 java package com example broadcast gt import android app Activity import gt android content Context import
  • 在游戏视图下添加 admob

    我一直试图将 admob 放在我的游戏视图下 这是我的代码 public class HoodStarGame extends AndroidApplication Override public void onCreate Bundle
  • react-native run-android 失败并出现错误:任务 ':app:dexDebug' 执行失败

    我使用的是 Windows 8 1 和react native cli 1 0 0 and react native 0 31 0 添加后react native maps对于该项目 我运行了命令react native upgrade并给
  • 有关 ListView 自定义行布局项目上的 onClick() 事件的帮助

    我有一个 ListView 其行由我格式化 每行都有 ImageView 和 TextView 的混合 我还实现了自己的适配器 并且能够通过它绘制每一行 现在 我想要这样的东西 用户单击 ImageView 不是行上的其他任何位置 但只有此
  • Android:监听状态栏通知

    有没有办法在状态栏被下拉时监听通知 1 用于检测状态栏变化 您可以注册一个监听器来获取系统UI可见性变化的通知 因此 要在您的活动中注册侦听器 Detecting if the user swipe from the top down to
  • 单元测试时 Android Studio 2.0 中测试状态终止且没有任何失败消息

    Issue 我昨天在 Ubuntu 上从 1 5 升级到了 Android Studio 2 0 当我在 Android Studio 2 0 中进行单元测试时 即使所有测试都已通过 它也会显示 终止测试 状态 有时它只显示部分测试通过 我
  • Android应用程序可以像旧的普通java小程序一样嵌入到网页中吗?

    我对 android 平台一无所知 也无法在互联网上找到这个基本问题的答案 更新 好的 我本身无法嵌入 Android 应用程序 但是我可以在 Android Webbrowser 中嵌入 Java 的东西吗 不可以 您无法将 Androi
  • 如何在片段中实现 onBackPressed() 和意图?

    我知道 onBackPressed 是活动中的一种方法 但是 我想在片段中使用该功能 以便当按下后退按钮时 它会通过 Intent 重定向到另一个活动 有什么办法解决这个问题吗 public class News Events fragme

随机推荐

  • 通过JMockit调用私有方法来测试结果

    我正在使用 JMockit 1 1 我想做的就是调用私有方法并测试返回值 但是 我无法准确理解如何从JMockit 解封装 http jmockit googlecode com svn trunk www tutorial Behavio
  • HTTP PATCH:处理数组、删除和嵌套键创建

    我正在寻找实施指南PATCH使用 JSON 在 RESTful api 中部分更新名词的动词 了解这一点PATCH对于部分更新 我们仍然缺乏关于删除键 创建或更新嵌套键和数组的语法的标准化 假设我GET一个东西 GET users 42 i
  • 自定义 php SessionHandler 的自定义serialize_handler(数据库存储)

    在 php 中使用第 3 方 django 会话管理的过程中 我需要自定义序列化函数为了正确地编码 解码它以适应 django 的会话数据加盐存储 目前 ini 设置 session serialize handler 似乎可以是 php
  • MulticastSocket 构造函数并绑定到端口或 SocketAddress

    我可能对这里的术语 绑定 有一个根本性的误解 但我对 绑定 的用法感到困惑组播套接字 http docs oracle com javase 7 docs api java net MulticastSocket html它是构造函数 他们
  • 图像处理语言/环境

    我有兴趣研究一些图像处理 我认为 matlab 是解决这个问题的最佳方法 但现在我无法访问 matlab 我尝试了 Octave 但由于某种原因 它甚至无法加载 png bmp 或除 1 种特定格式以外的任何格式 R 似乎也不是这里的关键
  • UIAlertView 中的时间选择器

    我需要一个要求输入时间的弹出窗口 我认为警报视图是可行的方法 但我不知道从哪里开始将时间选择器嵌入到警报视图中 除非有更好的方法来做到这一点 对于其他人 我将评论中的问题改编为时间选择器 如下所示 let vc UIViewControll
  • Python:检查列表中至少一个正则表达式是否与字符串匹配的优雅方法

    我有一个 python 中的正则表达式列表和一个字符串 有没有一种优雅的方法来检查列表中的至少一个正则表达式是否与字符串匹配 我所说的优雅 是指比简单地循环所有正则表达式并根据字符串检查它们并在找到匹配项时停止更好的方法 基本上 我有这个代
  • 跨一对多关系选择 COUNT

    对于两张桌子 player and team 对于 1 关系 球员与球队 您如何计算每个球队有多少球员 失败的尝试 SELECT team teamid SELECT COUNT player team FROM player FROM t
  • Django 注释总和

    我正在尝试对查询集中包含多行的列进行简单求和 我的直接问题是 a 我该如何设置get queryset 包括一列的总和以及 b 如何访问模板中的该元素 下列的this https stackoverflow com questions 86
  • Python正则表达式匹配:## ##

    我正在逐行搜索文件中是否出现 random string 除了多个 的情况外 它都有效 pattern prog re compile pattern string lala hey there result prog search str
  • 优化 R 中的买入和卖出信号

    我需要优化现有的买入和卖出信号 就像 r 中的 backtrader 一样 Signal会看起来像 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 where 1 持有 0 买入 1 卖出 优化信号后应该是 1 1
  • Octave信号包安装

    我使用的是 Ubuntu 16 04 目前使用 Octave 作为 Matlab 的倒数进行信号处理 一切都很好 直到我需要使用medfilt1函数来获取中位数 Octave 生成 了一个错误报告 指出我的系统上未安装信号包 浏览了一下后我
  • 如何从 Int 进行转换?到字符串

    在 Swift 中 我无法通过以下方式将 Int 转换为 String var iString Int 100 var strString String iString 但是我的变量是 Int 吗 有错误 Cant invoke init
  • 使用 Webpack 连接并缩小所有 less 文件而不导入它们

    我有一个包含大约 20 个独立的较少文件的文件夹 我需要通过 Webpack 将它们连接成一个文件并将其存储在我的 dist 文件夹中 我当前的Webpack配置文件如下 const path require path const webp
  • IBOutlet 何时初始化?

    我通过 Interface Builder 设置了文本视图的出口 文本视图加载正常 但是我无法以编程方式访问它的任何属性 因为出口始终是nil 什么时候实例化 即使在我之后applicationDidFinishLoading被调用 它仍然
  • 禁用 JList 单元格选择属性

    我正在尝试显示一个array of strings in a JList 然后将其添加到JPanel using Java Swing 我在显示数据时没有问题Jlists 但是我想删除允许用户选择项目的默认属性Jlist 我试图简单地向用户
  • 在无向图中查找循环(​​boost)并返回其顶点和边

    我需要一个在无向图中找到循环 提升 并返回其顶点和边的函数 它只需要返回图中一个周期的顶点 边 我的问题是 使用 boost 来做到这一点的最佳方法是什么 我没有使用它的经验 我不知道Boost 但是here https stackover
  • Node.js 事件循环

    Node js I O 事件循环是单线程还是多线程 如果我有多个 I O 进程 节点会将它们放入外部事件循环中 它们是按顺序处理 首先是最快的 还是处理事件循环以同时处理它们 以及哪些限制 事件循环 Node js 事件循环在单个线程下运行
  • 在 Orchard CMS 中将不同的 CSS 文件添加到不同的页面?

    假设 Orchard CMS 中有两个页面 主页和关于我们页面 我想在主页上使用 RoyalSlider 它有自己的 CSS 文件 如何仅将其包含在主页上而不包含在 关于我们 页面上 在 Orchard CMS 中 我使用 Contoso
  • Android 地图 v2 在第二次充气时出现错误

    我正在尝试在我的应用程序中使用新的 Android 地图 我有一个 FragmentActivity 其布局包含 除其他外