Карты Google для Android перекрываются

У меня действительно странная проблема с Google Maps Android API v2. Он отображается только на Samsung Galaxy S5 (с Android 5.0 или 5.1.1) и на Sony Xperia M2 Aqua.

У меня есть два фрагмента с картами, и я переключаю их (используя FragmentTransaction.replace) в MainActivity. Когда я переключаюсь с ContactFragment на MapFragment (прикреплен как экран), карта накладывается (эта странная полоса под фиолетовой полосой действий). В этом месте у меня есть RelativeLayout с парой TextView, но они не видны.

Самое странное, что на Samsung Galaxy S5 apk, подписанный с сертификатом производства, выявил эту проблему, но когда я удалил этот apk и установил приложение через USB с сертификатом отладки, проблема исчезла.

Скрин ниже:

Карты перекрываются


person Pawel Urban    schedule 18.05.2015    source источник


Ответы (1)


Задача решена !

Похоже, ошибка была в FragmentManager. У меня есть Navigation Drawer в моем приложении.

На элементе ящика нажмите, я только заменил Fragment на FragmentManager: getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, mFragment, mFragmentTag).commit();

Но я забыл, что Фрагменты не уничтожаются, даже если их заменяет другой фрагмент. Мне пришлось реализовать удаление всех фрагментов из FragmentManager перед заменой содержимого FrameLayout другим фрагментом:

for(Fragment f : getSupportFragmentManager().getFragments() {
    if(f != null) {
        getSupportFragmentManager().beginTransaction().remove(f).commit();
    }
}

После добавления этого исправления Карты Google работают хорошо, и проблема с перекрытием исчезла :)

person Pawel Urban    schedule 20.05.2015
comment
Спасибо, Павел Урбан, отличный ответ за удаление перекрытия фрагментов - person Binesh Kumar; 08.01.2017