Я использую NavigationView на встроенном макете, я пытаюсь перенести макет в другой макет, но он вылетает - PullRequest
1 голос
/ 11 июня 2019

Я пытаюсь использовать NavigationView во встроенном макете и пытаюсь «переместить» макет в другое представление контента, но вскоре произойдет сбой, и я удалю View из родительского элемента с помощью:

Attempt to invoke virtual method 'void com.mapbox.services.android.navigation.ui.v5.MultiOnClickListener.clearListeners()' on a null object reference]

У меня есть простой класс с:

public class clsNavigationView extends CoordinatorLayout implements OnNavigationReadyCallback, MapboxMap.OnMapLongClickListener,
        NavigationListener, ProgressChangeListener, InstructionListListener, SpeechAnnouncementListener,
        BannerInstructionsListener, OnTrackingModeChangedListener
...
        inflate(getContext(), R.layout.mapbox_activity_embedded_navigation, this);
...

В макете есть

    <com.mapbox.services.android.navigation.ui.v5.NavigationView
    android:id="@+id/navigationView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:navigationDarkTheme="@style/NavigationViewDark"
    app:navigationLightTheme="@style/NavigationViewLight"/>

Я помещаю clsNavigationView в статический FrameLayout, я добавляю его в свой mainView в другой FrameLayout.

Когда я меняю вид, я удаляю вид с помощью:

((FrameLayout) objFrameMap.getParent()).removeView(objFrameMap);

Сделайте мой новый setContentview на моей основной деятельности.

Затем я добавляю свой Frame в мой новый FrameLayout для нового контента

((FrameLayout) findViewById(R.id.layer_mapview)).addView(objFrameMap);

Сбой в removeView, что я могу сделать для исправления этого? Каков наилучший способ «перемещения» NavigationView без сбоев?

** Я не использую фрагмент.

...