【发布时间】:2014-07-28 12:04:15
【问题描述】:
我正在做一个项目,我需要加入 Google 地图。我正在使用 API v2,但在显示地图时遇到了一些问题。
package com.lan.me;
import com.google.android.gms.maps.GoogleMap;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Geoloc extends Fragment {
GoogleMap map;
View view;
public static Fragment newInstance() {
Geoloc mFrgment = new Geoloc();
return mFrgment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.map, container, false);
return view;
}
}
这是我的 Geoloc.java,在我的 map.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.MapFragment" />
我在编译或启动我的应用程序时没有任何问题,但是当我点击我的按钮时,我的应用程序不想工作。当我双击 LogCat 时,错误似乎在那里:
view = inflater.inflate(R.layout.map, container, false);
但我真的不明白为什么。有人有想法吗?
编辑:
07-29 06:00:14.202: E/AndroidRuntime(1169): FATAL EXCEPTION: main
07-29 06:00:14.202: E/AndroidRuntime(1169): Process: com.lan.me, PID: 1169
07-29 06:00:14.202: E/AndroidRuntime(1169): android.view.InflateException: Binary XML file line #1: Error inflating class fragment
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.view.LayoutInflater.inflate(LayoutInflater.java:469)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
07-29 06:00:14.202: E/AndroidRuntime(1169): at com.lan.me.Geoloc.onCreateView(Geoloc.java:24)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.app.Fragment.performCreateView(Fragment.java:1700)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1040)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.app.Activity.onCreateView(Activity.java:4805)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.view.LayoutInflater.inflate(LayoutInflater.java:469)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
07-29 06:00:14.202: E/AndroidRuntime(1169): at com.lan.me.Geoloc.onCreateView(Geoloc.java:24)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.app.Fragment.performCreateView(Fragment.java:1700)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.app.BackStackRecord.run(BackStackRecord.java:684)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.app.FragmentManagerImpl$1.run(FragmentManager.java:443)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.os.Handler.handleCallback(Handler.java:733)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.os.Handler.dispatchMessage(Handler.java:95)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.os.Looper.loop(Looper.java:136)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.app.ActivityThread.main(ActivityThread.java:5017)
07-29 06:00:14.202: E/AndroidRuntime(1169): at java.lang.reflect.Method.invokeNative(Native Method)
07-29 06:00:14.202: E/AndroidRuntime(1169): at java.lang.reflect.Method.invoke(Method.java:515)
07-29 06:00:14.202: E/AndroidRuntime(1169): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
07-29 06:00:14.202: E/AndroidRuntime(1169): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
07-29 06:00:14.202: E/AndroidRuntime(1169): at dalvik.system.NativeStart.main(Native Method)
07-29 06:00:14.202: E/AndroidRuntime(1169): Caused by: java.lang.IllegalArgumentException: Binary XML file line #1: Duplicate id 0x7f090027, tag null, or parent id 0x7f090004 with another fragment for com.google.android.gms.maps.MapFragment
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.app.Activity.onCreateView(Activity.java:4791)
07-29 06:00:14.202: E/AndroidRuntime(1169): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689)
07-29 06:00:14.202: E/AndroidRuntime(1169): ... 26 more
编辑编辑:
http://uprapide.com/image/811589-properties_2
问题来了……
【问题讨论】:
-
把你的logcat贴在这里,这里不需要图片哥们,复制粘贴就行了。
-
@pratik : 我刚刚添加了我的 logcat,你可以在我的第一篇文章中看到它!
-
@MD : 我只是添加了我的 logcat,你可以在我的第一篇文章中看到它!
标签: android android-fragments google-maps-api-2