#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