- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我添加本教程中的 RetainedFragment 之前,我的 map 一直有效 "Handling The Change" .
扩充包含类 com.google.android.gms.maps.SupportMapFragment 的 fragment 的布局时发生错误:
SplashScreenActivity.java 中的 PlaceholderFragment
View rootView = inflater.inflate(R.layout.fragment_splash_screen, container, false);
res/layout/fragment_splash_screen.xml
<fragment
android:id="@+id/app_search_map_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
错误:
android.view.InflateException: Binary XML file line #18: Error inflating class fragment
完整堆栈:
03-25 10:16:51.681: I/Process(31941): Sending signal. PID: 31941 SIG: 9
03-25 10:17:00.141: E/Trace(32468): error opening trace file: No such file or directory (2)
03-25 10:17:00.381: D/AndroidRuntime(32468): Shutting down VM
03-25 10:17:00.381: W/dalvikvm(32468): threadid=1: thread exiting with uncaught exception (group=0x4184c7d0)
03-25 10:17:00.401: E/AndroidRuntime(32468): FATAL EXCEPTION: main
03-25 10:17:00.401: E/AndroidRuntime(32468): java.lang.RuntimeException: Unable to start activity ComponentInfo{br.com.ericksprengel.piz/br.com.ericksprengel.supportmapfragmentvsretainedfragment.SplashScreenActivity}: android.view.InflateException: Binary XML file line #18: Error inflating class fragment
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2115)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2153)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.app.ActivityThread.access$700(ActivityThread.java:137)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1246)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.os.Handler.dispatchMessage(Handler.java:99)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.os.Looper.loop(Looper.java:137)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.app.ActivityThread.main(ActivityThread.java:5031)
03-25 10:17:00.401: E/AndroidRuntime(32468): at java.lang.reflect.Method.invokeNative(Native Method)
03-25 10:17:00.401: E/AndroidRuntime(32468): at java.lang.reflect.Method.invoke(Method.java:511)
03-25 10:17:00.401: E/AndroidRuntime(32468): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
03-25 10:17:00.401: E/AndroidRuntime(32468): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
03-25 10:17:00.401: E/AndroidRuntime(32468): at dalvik.system.NativeStart.main(Native Method)
03-25 10:17:00.401: E/AndroidRuntime(32468): Caused by: android.view.InflateException: Binary XML file line #18: Error inflating class fragment
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
03-25 10:17:00.401: E/AndroidRuntime(32468): at br.com.ericksprengel.supportmapfragmentvsretainedfragment.SplashScreenActivity$PlaceholderFragment.onCreateView(SplashScreenActivity.java:72)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:570)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1163)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.app.Activity.performStart(Activity.java:5068)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2088)
03-25 10:17:00.401: E/AndroidRuntime(32468): ... 11 more
03-25 10:17:00.401: E/AndroidRuntime(32468): Caused by: java.lang.IllegalStateException: Fragment com.google.android.gms.maps.SupportMapFragment did not create a view.
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:314)
03-25 10:17:00.401: E/AndroidRuntime(32468): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
03-25 10:17:00.401: E/AndroidRuntime(32468): ... 24 more
我不知道 RetainedFragment 和 SupportMapFragment 之间的关系是什么,但只有当我使用 RetainedFragment 时才会出现此错误。
// find the retained fragment on activity restarts
FragmentManager fm = getSupportFragmentManager();
dataFragment = (RetainedFragment) fm.findFragmentByTag("data");
// create the fragment and data the first time
if (dataFragment == null) {
// add the fragment
dataFragment = new RetainedFragment();
fm.beginTransaction().add(dataFragment, "data").commit();
}
如果我删除这一行应用程序不会崩溃
fm.beginTransaction().add(dataFragment, "data").commit();
我创建了一个简单的项目,其中包含一个简单的 Activity,其布局简单,带有 SupportMapFragment 和 RetainedFragment。
简单项目: https://github.com/ericksprengel/support-map-fragment-vs-retained-fragment
最佳答案
我不确定这与您的 RetainedFragment 有什么关系,这很奇怪。
但看起来您的问题与 Having an issue with GoogleMap v2 crashing app on orientation change 有关.
您正在创建一个占位符 fragment ,然后从 xml 加载一个子 fragment 。貌似这样不行,只能动态添加子 fragment 。试试看它是否能解决您的问题。
关于android - 使用保留的 fragment 会导致错误膨胀 SupportMapFragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22637210/
我在一个 Activity 的两个不同 fragment 中使用两个 SupportMapFragment 时遇到奇怪的问题。 实际上,我的问题是在 OneFragment 中添加了 SupprtMa
我有 adt x86-64 mac 操作系统。我做了 maps v2 文档中的所有内容,但我仍然得到: 09-28 03:07:11.755: E/AndroidRuntime(549): Cause
当我在运行时用 SupportMapFragment 替换容器时,它不会填充 Parent。它仅部分占据屏幕。 HomeActivity2.java package com.example.mapde
是否可以检测 SupportMapFragment 的 OnScrollGesture 监听器。这是我一段时间前尝试解决但找不到解决方案的问题。我正在尝试检测用户是否滚动。我不想检查相机更新或位置更改
我正在做一个项目,我想在 fragment Activity 中显示 map fragment ,这就是我使用以下内容的原因, public class VenueMapFragment extend
我正在创建一个简单的应用程序,它在选项卡中使用谷歌地图,在其他选项卡中使用其他内容。问题是当我改变方向时 map 会重新创建,所以我转到 latlng 0,0 这是我的代码 MainAcitivy.j
我在我的代码中为 map 使用 SupportMapFragment (class="com.google.android.gms.maps.SupportMapFragment")。 当我将我的应用
我正在使用基于 map 的应用程序创建包含 map 和 Web View 的相册 View 。该问题发生在轮换期间,并且在 com.android.support:support-v4:19.1 上运
我正在尝试让 Google Maps Android API v2 在 HTC Desire 上的 Android 2.2 上运行。 我的 main.xml 包含以下内容:
我恳请您提供任何帮助,我已经为这个问题伤透了两天了,在解决这个问题之前我无法继续:/ 嗯,我正在尝试使用抽屉导航实现 GoogleMap,并且我勉强做到了这一点,但效果不太好。 这是我的类和 xml-
我有一个 GoogleMap,由 SupportMapFragment 类生成。有时,我有另一个 fragment 作为覆盖,其中包含有关特定位置的一些详细信息。但是,我可以通过带有详细信息的 fra
我正在尝试使用此覆盖 SupportMapFragment 上的 setOnMyLocationChangeListener map.setOnMyLocationChangeListener(new
我目前正在尝试将谷歌地图包含到我的应用程序中。主要目的是在加载 map 后自动将相机移动到具有缩放功能的设备当前位置。 为此,我需要一个位置管理器。在下面的代码中,我试图实现一个,但没有成功。我还尝试
我想显示 supportMapFragment 来填充我的主要 Activity ,顺便说一句,我在运行时请求了位置权限并且已成功授予。发生的事情是我得到的是空白的 map View ,没有其他任何东
我正在向屏幕添加另一个片段。此屏幕在 SupportMapFragment 中已有 en MapView,因此添加的 Fragment 应位于 MapView 之上。这个新 View 覆盖了屏幕的 2
mapFragment.getMapAsync(this) 在 map 中返回 null 我正在尝试设计一个带有谷歌地图和抽屉导航的应用程序,我不断收到尝试在空对象引用上调用虚拟方法“void com
我正在使用 FragmentTabHost 开发一个选项卡式应用程序。我的一个选项卡( fragment )是一个 map (扩展 fragment ),我只能在第一次选择它时看到,如果我选择其他选项
我需要在Dialog 中嵌入一个SupportMapFragment。这是我能想到的最好的: public class SupportMapFragmentDialog extends DialogF
我正在尝试让 SupportMapFragment 具有自定义布局,现在以下代码有效: @Override public View onCreateView(LayoutInflater inflat
我正在尝试在 fragment 中使用 SupportMapFragment。第一次启动时, map 显示没有任何错误。 但是当我对另一个 fragment 执行事务,然后返回到 map 时,我有一个
我是一名优秀的程序员,十分优秀!