私はダイアログを表示するAndroidプログラムを作成しており、ダイアログでクリックされたボタンに基づいて、ビデオが表示される場合と表示されない場合があります。ユーザーが[はい]ボタンをクリックすると、再生されます。ただし、ダイアログが終了してもダイアログは表示されたままです。なんで?
ダイアログのコード
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//builder.setTitle(" MY_TEXT");
builder.setMessage("Would you like to see a video?")
.setView(checkBoxView)
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//Start the movie
startVideo();
dialog.cancel();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
}).show().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
ビデオのコード
getWindow().setFormat(PixelFormat.TRANSLUCENT);
final VideoView videoHolder = new VideoView(this);
//if you want the controls to appear
videoHolder.setMediaController(new MediaController(this));
Uri video = Uri.parse("android.resource://" + getPackageName() + "/"
+ R.raw.documentariesandyou); //do not add any extension
//if your file is named sherif.mp4 and placed in /raw
//use R.raw.sherif
videoHolder.setVideoURI(video);
setContentView(videoHolder);
videoHolder.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
//exits video!
videoHolder.stopPlayback();
mp.release();
finish();
}
});
videoHolder.start();