2017-12-28 27 views
0

대화 상자를 열 때이 문제로 고생하고 두 번째 클릭시 충돌이 발생합니다. . 이 문제를 해결하려면 몇 가지 제안 사항을 제공해주십시오. 감사합니다. 내가 그것을 잘 작동 대화 상자를 열 때 내가 두 번 클릭 할 때치명적인 예외 : 주 프로세스 : 이진 XML 파일 라인 # 81 : 바이너리 XML 파일 라인 # 81 : 클래스 조각을 부 풀리는 중 오류가 발생했습니다.

    try { 
         FragmentManager myFragmentManager = getActivity().getSupportFragmentManager(); 

         SupportMapFragment mySupportMapFragment 
           = (SupportMapFragment) myFragmentManager.findFragmentById(R.id.map_container); 


         mySupportMapFragment.getMapAsync(
           new OnMapReadyCallback() { 
            @Override 
            public void onMapReady(GoogleMap mGoogleMap) { 
             googleMap = mGoogleMap; 
             AppDelegate.LogT("Google Map ==" + googleMap); 
             showMap(); 
            } 
           } 
         ); 
        } catch (Exception e) { 
         AppDelegate.LogE(e); 
        } 
+1

레이아웃 코드를 추가 할 수 있습니까? ? – R2R

+2

개봉 된 Youre Xml 코드 –

+0

xml 코드를 공유하십시오. 그 81 줄 사이에있는 모든 태그는 우리가 쉽게 이해할 수 있도록 –

답변

1

이 이

충돌 - 여기
   <fragment 
        android:id="@+id/map_container" 
        android:name="com.google.android.gms.maps.SupportMapFragment" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 

        android:background="@color/white" /> 

내 자바 코드 -

내 XML이다

대화 상자가 열리면 조각이 팽창하기 때문입니다. 두 번째로 열면 이미 부 풀린 두 번째 시간이 팽창됩니다. 아래 코드를 시도하십시오. 이것에서 대화 닫기에서 조각을 제거합니다.

여기에서 제거에서 조각 개체를 추가하십시오.

dialog.setOnDismissListener(new DialogInterface.OnDismissListener() { 
      @Override 
      public void onDismiss(final DialogInterface arg0) { 
       // do something 
       getFragmentManager().beginTransaction().remove(SupportMapFragment).commit(); 


      } 
     }); 
+0

을 추가하십시오. 대화 상자와 프래그먼트 초기화 후에이 코드를 사용하십시오. –

+1

고맙습니다. :) – TechValens

2

또는 당신은 다만 할 수 있습니다

SupportMapFragment mySupportMapFragment; 

을 정의하고 같은 클래스에서 나중에 팽창 : 만 팽창보다가 null의 // 경우

if(mSupportMapFragment==null) 
    { 
     mySupportMapFragmen = (SupportMapFragment) myFragmentManager.findFragmentById(R.id.map_container); 
    }