Почему приведенный ниже загрузочный вспомогательный фрагмент не работает в Android?

#android

#Android

Вопрос:

Я пытаюсь реализовать OnboardingSupportFragment в Android, но мне не очень везет. Кто-нибудь знает какие-либо примеры, где я могу увидеть, где я могу ошибаться?

Я переопределил базовый класс и реализовал все методы, которые мне нужны. Но, похоже, я не могу понять, как запустить фрагмент из транзакции фрагмента.

В моей активности с фрагментом:

         FragmentManager manager = getSupportFragmentManager();
        FragmentTransaction transaction = manager.beginTransaction();
        transaction.add( R.id.dp_fragment_container, new DPOnboardingFragment());
        transaction.addToBackStack(null);
        transaction.commit();
  

Встроенный фрагмент:

     @Override
    protected int getPageCount() {
        return 1;
    }

    @Override
    protected CharSequence getPageTitle(int pageIndex) {
        Log.d("GET PAGE TITLE", "REQUESTING THE PAGE TITLE");
        return "Welcome to the app!";
    }

    @Override
    protected CharSequence getPageDescription(int pageIndex) {
        Log.d("GET PAGE DESCRIPTION", "REQUESTING THE PAGE DESCRIPTION");
        return "Keen to get stuck in? Here's a couple of helpful tips to allow you to get the most out of the app";
    }

    @Nullable
    @Override
    protected View onCreateBackgroundView(LayoutInflater inflater, ViewGroup container) {
        Log.d("GET PAGE BACKGROUND", "REQUESTING THE PAGE BACKGROUND");
        return inflater.inflate(R.layout.onboarding_background, container);
    }

    @Nullable
    @Override
    protected View onCreateContentView(LayoutInflater inflater, ViewGroup container) {
        return inflater.inflate(R.layout.onboarding_note_created, container);
    }

    @Nullable
    @Override
    protected View onCreateForegroundView(LayoutInflater inflater, ViewGroup container) {
        return null;
    }

    @Override
    protected void onFinishFragment() {
        super.onFinishFragment();
        // User has seen OnboardingFragment, so mark our SharedPreferences
        // flag as completed so that we don't show our OnboardingFragment
        // the next time the user launches the app.
        SharedPreferences.Editor sharedPreferencesEditor = PreferenceManager.getDefaultSharedPreferences(getContext()).edit();
        sharedPreferencesEditor.putBoolean(getString(R.string.is_first_launch), true);
        sharedPreferencesEditor.apply();
    }
}
  

Файл макета активности:

 <FrameLayout
    android:name=".DpOnboardingActivity"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@ id/dp_fragment_container"
    android:enabled="true"
    android:exported="true"
    android:theme="@style/Theme.Leanback.Onboarding">
</FrameLayout>
  

Я ожидал бы увидеть что-то вроде этого. Но я просто получаю информацию о своей активности, поэтому фрагмент не запускается

Комментарии:

1. Загрузочный вспомогательный фрагмент принадлежит androidx.leanback. Leanback используется для создания приложений Android TV