Android: API YouTube в AppCompatDialogFragment - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь реализовать API YouTube для моего приложения. В результате после нажатия кнопки появляется всплывающий фрагмент диалога, в котором пользователь может увидеть описание топи c и посмотреть соответствующее видео. (DialogFragment - это то, что я планирую использовать, поэтому, если это возможно, я не хочу его менять)

По какой-то причине я не могу инициализировать фрагмент YouTube из XML в dialogFragment. Если бы он был внутри AppCombatActivity (проверено!), Он бы работал. Но я не могу инициализировать его внутри диалога ...

DialogFragment:

public class InfoFragment extends AppCompatDialogFragment implements YouTubePlayer.OnInitializedListener {

@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
    AlertDialog.Builder builder = new AlertDialog.Builder(Objects.requireNonNull(getActivity()));
    LayoutInflater inflater = getActivity().getLayoutInflater();

    View view = inflater.inflate(R.layout.info_api_layout, null);
    builder.setView(view);

    //ERROR BELOW (Underlined with red)
    YouTubePlayerFragment youTubePlayerFragment =
            (YouTubePlayerFragment) getFragmentManager().findFragmentById(R.id.youtube_fragment);  
    youTubePlayerFragment.initialize("api key", this);

    return builder.create();
}

@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
    //Implement later
}

@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
    Toast.makeText(getActivity(), "ERROR", Toast.LENGTH_SHORT).show();
}
}

XML:

<fragment
    android:id="@+id/youtube_fragment"
    android:name="com.google.android.youtube.player.YouTubePlayerFragment"
    android:layout_width="0dp"
    android:layout_height="300dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />
...