내 애플리케이션에서 Google지도 버전 2를 조각으로 사용합니다. 프래그먼트가있는 응용 프로그램 탭 호스트 (완전히 4 개의 탭). 지도 사용법은 Tab1-> Searchome (조각 클래스) -> fragment2 (조각 클래스) -> SearchResultMap (조각 클래스)에 있습니다.Android - Google지도 v2 또는 SupportMapFragment를 두 번째로 열 때 오류가 발생했습니다.
내 문제는지도를 보여줍니다 내가 SearchResultMap 클래스에 방문 처음이지만 레이아웃 XML을 Caused by: java.lang.IllegalArgumentException: Binary XML file line #62: Duplicate id 0x7f050043, tag null, or parent id 0x0 with another fragment for com.google.android.gms.maps.SupportMapFragment
내 전체 코드와 함께 추락 한 두 번째 시간 :
SearchResultMap.java :
public class SearchResultMap extends Fragment {
private GoogleMap mMap;
private View fragmentView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
fragmentView = inflater.inflate(R.layout.map_layout, container, false);
FragmentManager myFM = getActivity().getSupportFragmentManager();
final SupportMapFragment myMAPF = (SupportMapFragment) myFM
.findFragmentById(R.id.map);
mMap = myMAPF.getMap();
mMap.addMarker(new MarkerOptions()
.position(new LatLng(xxxxxx, xxxxxxxx))
.title("Current Location")
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.ball_pointer))
.snippet("Accuracyt to 20 meters"));
return fragmentView;
}
}
map_layout.xml :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="50dp"
android:background="#333333" >
<ImageButton
android:id="@+id/map_back"
android:layout_width="25dp"
android:layout_height="30dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:background="@drawable/back_button" />
<TextView
android:id="@+id/search_txt"
android:layout_width="170dp"
android:layout_height="30dp"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@+id/map_back"
android:background="@drawable/rounded_corner"
android:hint="Search"
android:textColor="#000000" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/search_txt"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/search_txt" >
<Button
android:id="@+id/search_go"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="13sp"
android:text="Search" />
<Button
android:id="@+id/search_cancel"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="13sp"
android:text="Cancel" />
</LinearLayout>
</RelativeLayout>
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
전체 로그 고양이 :
FATAL EXCEPTION: main
android.view.InflateException: Binary XML file line #62: Error inflating class fragment
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:587)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
at com.fssd.spot.search.SearchResultMap.onCreateView(SearchResultMap.java:35)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1478)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1086)
at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:1877)
at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1492)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947)
at android.support.v4.app.FragmentManagerImpl.attachFragment(FragmentManager.java:1280)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:672)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:875)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:633)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: Binary XML file line #62: Duplicate id 0x7f050043, tag null, or parent id 0x0 with another fragment for com.google.android.gms.maps.SupportMapFragment
at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:290)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
onBackPressed 메서드를 재정의하고 조각을 포함하는 작업에서 popBackStack을 올바르게 수행해야합니다. 그래도 작동하지 않으면 onDestroy() 및 clearMap (_googleMap)에서지도를 제대로 파괴하려고 시도하십시오. .. 등 –