Mapfragment findFragmentById всегда null

У меня проблемы с доступом к фрагменту карты. GetFragmentManager (). FindFragmentById (R.id.map)) всегда возвращает null. Я не знаю, почему. В чем проблема?

Спасибо!

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/root" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/tvNombreCentro" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingBottom="10dp" android:text="Large Text" android:textAppearance="?android:attr/textAppearanceLarge" /> <fragment android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="match_parent" android:layout_height="match_parent" android:tag="tag_fragment_map" /> </LinearLayout> 

А в активности после setContentView я пытаюсь получить доступ к карте, но получаю исключение

 public class Mapa extends Activity { private GoogleMap mMap; private ActionBar ab; private TextView tvNombreCentro; private TextView tvTelefonoValor; private TextView tvEMailValor; private TextView tvWebValor; private TextView tvDireccionValor; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mapa_centro); GoogleMap mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)) .getMap(); } 

Solutions Collecting From Web of "Mapfragment findFragmentById всегда null"

Используйте этот способ:

 SupportMapFragment mapFrag = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); map = mapFrag.getMap(); 

Здесь полный код с образцом:

Если проблема не решена, попробуйте следующее:

Когда вы используете SupportMapFragment , при извлечении карты используйте

  GoogleMap mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); 

Кроме того, измените

  public class Mapa extends Activity { 

в

  public class Mapa extends FragmentActivity { 

У меня была аналогичная проблема при попытке получить MapFragment, но он получил нуль, потому что на устройстве не было обновлено Google Play Services.

Изменение макета

android:name = "com.google.android.gms.maps.SupportMapFragment"

от

android:name = "com.google.android.gms.maps.MapFragment" .

Или вы можете использовать getSupportFragmentManager() вместо getFragmentManager() .