#android #video #dialog
#Android #Видео #диалоговое окно
Вопрос:
С помощью следующего кода в onCreateDialog
я открываю Dialog
, который показывает видео.
dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.video_dialog);
final VideoView videoView = (VideoView) dialog.findViewById(R.id.videoView);
videoView.setVideoURI(Uri.parse("android.resource://" getPackageName() "/" R.raw.test2));
videoView.setZOrderOnTop(true);
videoView.start();
Это отлично работает при первом вызове. но если я отменю вызов, Dialog
нажав кнопку «Назад», и снова открою его Dialog
, видео не запустится. Откроется диалоговое окно, но я вижу только черный фон Dialog
.
Я попытался установить OnCancelListener
, чтобы убедиться, что видео остановлено и диалоговое окно больше не используется, выполнив следующее
dialog.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
videoView.stopPlayback();
//videoView.suspend();
dialog = null;
}
Ни stopPlayback()
ни suspend()
не сработали.
Кто-нибудь может сказать, что может вызвать эту проблему?
Ответ №1:
Вы должны переместить свой код в onpreparredialog.При первом запуске создается диалоговое окно, поэтому вызывается onCreateDialog, но во второй раз диалоговое окно уже создано и вызывается только onpreparredialog. Еще немного информации о диалоговых окнах
Комментарии:
1. Не знаю, как я это пропустил, кажется довольно очевидным 😉 Хотя спасибо!