Как получить LifecycleOwner во фрагменте? - PullRequest
1 голос
/ 17 октября 2019

Мне нужно, чтобы LifecycleOwner передавал его в мой FirestoreRecyclerViewOption, но Fragment не реализует жизненный цикл.

Итак, как его получить?

Мой фрагмент реализует LifecycleOnwer, как показано вВ следующем примере кода

public class ListRestFragment extends Fragment implements LifecycleOwner 

после в onCreateMethod,

  lifecycleRegistry = new LifecycleRegistry(this);
        lifecycleRegistry.setCurrentState(Lifecycle.State.CREATED);

и до конца

@Override
    public void onStart() {
        super.onStart();
        lifecycleRegistry.setCurrentState(Lifecycle.State.STARTED);
    }

    @NonNull
    @Override
    public Lifecycle getLifecycle() {
        return lifecycleRegistry;
    }

Я следую этому примеру, но он не работает

Attempt to invoke virtual method 'androidx.lifecycle.Lifecycle$State androidx.lifecycle.Lifecycle.getCurrentState()' on a null object reference

Мне нужно отредактировать My FirestoreRecyclerViewOption и setLifeCycleOwner, потому что он всегда равен нулю, и у меня всегда есть NullPointer.

1 Ответ

0 голосов
/ 17 октября 2019

Сам фрагмент - это LifecycleOwner, который вы ищете. Вы можете использовать ключевое слово "this" в качестве ссылки на фрагмент.

Прочитайте это: " Lifecycle - это класс, который содержит информацию о состоянии жизненного цикла компонента (например, действие илифрагмент) и позволяет другим объектам наблюдать это состояние. "

И:" LifecycleOwner - это интерфейс с одним методом, который обозначает, что у класса есть жизненный цикл. "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...