Лучший способ получить список из Observable в Rxjava

У меня была такая же проблема, и я смог ее решить, вручную удалив MapFragment в методе onDestroy() класса Fragment. Вот код, который работает и ссылается на MapFragment по ID в XML:

@Override
public void onDestroyView() {
    super.onDestroyView();
    MapFragment f = (MapFragment) getFragmentManager()
                                         .findFragmentById(R.id.map);
    if (f != null) 
        getFragmentManager().beginTransaction().remove(f).commit();
}

Если вы не удалите MapFragment вручную, он будет зависать, чтобы он не стоил много ресурсов для воссоздания / отображения карты снова. Кажется, что сохранение базового MapView отлично подходит для переключения между вкладками, но при использовании в фрагментах это поведение вызывает создание дубликата MapView для каждого нового MapFragment с тем же идентификатором. Решение состоит в том, чтобы вручную удалить MapFragment и таким образом воссоздать базовую карту каждый раз, когда фрагмент завышен.

Я также отметил это в другом ответе [ 1 ].

0
задан Tanveer Munir 22 February 2019 в 07:50
поделиться

1 ответ

Идти как

        getRepositoryManager().loadAllPcbDetails()
            .flatMapIterable {
                    listPcbDetail-> listPcbDetail
                // listPcbDetail is ArrayList<PcbDetails>
                // Converts your list of ids into an Observable
                // which emits every item in the list           
            }
            .flatMap { pcbDetail ->
                // pcbDetail is PcbDetails
                getRepositoryManager().loadAllPcbs(pcbDetail.pcbIdList)
            }.subscribe { listPcb ->
                // listPcb is ArrayList<Pcb>
            }

0
ответ дан bhumik 22 February 2019 в 07:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: