2013-05-14 22 views
0

我試圖更好地解釋: 我的應用程序有一個標籤欄(一個TabHost)和兩個標籤是兩個活動與每個地圖。 當我點擊第一個標籤時,我得到地圖,我可以使用它,因爲我想要的。當我點擊第二個地圖時,我得到了同樣的地圖,其上繪製了相同的標記和相同的路徑,我甚至無法移動地圖。我不希望它像那樣行事。每個活動都必須使用不同的地圖。Android:兩個地圖的活動;第二個不能正確加載

我使用的是v2貼圖,這兩個活動擴展了android.support.v4.app.FragmentActivity。

請注意,如果我先點擊第二個活動,則可以根據需要使用該地圖,並在第一個活動上重複該問題。

我不會重複使用任何東西!一切都有不同的名稱,ids,ecc ...

請幫忙!

P.S.這裏是我用來初始化地圖(在一個活動)的代碼:

private void setUpMapIfNeeded() { 
    // Do a null check to confirm that we have not already instantiated the map. 
    if (mMap == null) { 

     Logger.log("mMap = null"); 

     // Try to obtain the map from the SupportMapFragment. 
     mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.mapFollow)) 
       .getMap(); 

     mMap.getUiSettings().setCompassEnabled(false); 

     mapContainer = getSupportFragmentManager().findFragmentById(R.id.mapFollow).getView(); 
     // Check if we were successful in obtaining the map. 
     if (mMap == null) { 
      //TODO: dialog error map. 
     } 
    } 
} 

我每次兩個活動我得到的「MMAP = NULL」日誌之間切換...

+0

您需要發佈兩種活動及其佈局的代碼,然後很容易診斷確切的問題。 – 2013-05-14 11:03:09

回答

0

在互聯網上搜索我發現這是一個與TabHost的「bug」。使其工作的唯一方法是將其中一個活動與地圖一起移動到「內部」位置,例如通過另一個「主要」活動調用該地圖。通過這種方式,地圖和標籤只會有一個活動,而地圖上的其他活動則不會有標籤。不是一種好的方式,而是唯一可能的方式。

1

問題似乎是你試圖把兩個SurfaceViews(地圖繪製在此)。 ActivityGroupTabActivity擴展它)很長時間不推薦使用,您最好切換到正確使用Fragments。製作一個FragmentActivity,在兩個MapFragments之間切換。

+0

我認爲你的答案是正確的,但是這是一個有250多個班級的應用程序......我不認爲如果不全天24小時工作,我可以改變基礎...... – aveschini 2013-05-14 11:58:28

相關問題