Загрузка фрагмента при определенном условии - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть проблема, пожалуйста, помогите мне.Я создаю приложение для Android и успешно интегрировал в него видео-рекламу с вознаграждением.

Я хочу показать фрагмент или выполнить автоматическое перенаправление на определенный фрагмент, когда выполнено условие ниже:

@Override
    public void onRewarded(RewardItem rewardItem) {
// I want to redirect the user to a particular fragment here. 
}

Так что, пожалуйста, помогите мне, если есть какой-то другой способ добиться этого, пожалуйста, дайте мне знать.

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Напишите ниже код внутри вашего onRewarded:

    android.support.v4.app.Fragment fragment = new FragmentA();
    android.support.v4.app.FragmentManager fragmentManager = getActivity()
                .getSupportFragmentManager();
    android.support.v4.app.FragmentTransaction fragmentTransaction = 
                fragmentManager.beginTransaction();
    fragmentTransaction.replace(R.id.fragment_container, fragment);
    fragmentTransaction.commit();

Здесь фрагмент_контейнера - это FrameLayout, определенный внутри вашей деятельности, в которой вы хотите разместить свой фрагмент.

IЯ упоминаю пример деятельности с разметкой кадра.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

     <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Below is a fragment Container" />
     <FrameLayout
         android:id="@+id/fragment_container"
         android:layout_height="wrap_content"
         android:layout_width="match_content" />
</LinearLayout>
0 голосов
/ 21 ноября 2018

Для этого используйте Fragment Manager и Fragment Transaction Manager.

getFragmentManager().beginTransaction().replace(R.id.your_framelayout_id, new your_fragment()).commit();
...