0

私はダイアログを表示する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();
4

2 に答える 2

0

dialog.dismiss()の代わりに試してくださいdialog.cancel();

于 2012-07-20T11:39:58.437 に答える
0

dialog.cancel() の代わりに

使用する

却下ダイアログ();

DismissDialog() には、パラメーターとして自己名が含まれます。チェックしてください。

于 2012-07-20T11:38:04.840 に答える