2015-09-15 24 views
0

我有一個按鈕,單擊它時將顯示來自Google Maps for Android的地圖。這工作我第一次點擊它,在地圖載入:SupportMapFragment和mapFragment.getMapAsync在調用兩次時不顯示地圖

 mapButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       //A new supportMapFragment is formed every time 
       final SupportMapFragment mapFragment = SupportMapFragment.newInstance(); 
       //Adding the map to the relativeLayout placeholder 
       ((FragmentActivity) mContext).getSupportFragmentManager().beginTransaction().add(backgroundRlMaps.getId(), mapFragment).commit(); 
       mapFragment.getMapAsync(RecyclerViewAdapter.this); } 

當我點擊後退按鈕,地圖上消失:

   back.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         ((FragmentActivity) mContext).getSupportFragmentManager().beginTransaction().remove(mapFragment).commit(); 
         back.setVisibility(View.GONE); 
        } 
       }); 

我onMapReady方法非常簡單:

@Override 
public void onMapReady(GoogleMap googleMap) { 
    Toast.makeText(mContext, "Map is ready", Toast.LENGTH_SHORT).show(); 
} 

現在,當我第二次點擊mapButton時,地圖不會出現,但是在調用MapReady時,我可以看到Toast消息。

有沒有人爲什麼地圖不再顯示,當我再次點擊mapButton時?

謝謝!

+0

back.setVisibility(View.GONE),所以請你把視圖無形再造一個新mapfragment。你需要再次使它可見 - http://developer.android.com/reference/android/view/View.html – Tasos

回答

0

這只是一個片段,因此嘗試使用顯示/隱藏,而不是每次都