在Android中切换到另一个选项卡后,选项卡的意图不会停止

在Android中切换到另一个选项卡后,选项卡的意图不会停止,android,android-intent,tabactivity,android-tabactivity,Android,Android Intent,Tabactivity,Android Tabactivity,我有两个选项卡来显示两个不同的电视频道,但当我在选项卡之间切换时,它们的活动(意图)会继续运行,并且会混淆。如何确保一个频道在新频道开始播放之前停止播放 以下是活动类的代码: public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.videoview); extras = getIntent().getExtras(); progressDialog

我有两个选项卡来显示两个不同的电视频道,但当我在选项卡之间切换时,它们的活动(意图)会继续运行,并且会混淆。如何确保一个频道在新频道开始播放之前停止播放

以下是活动类的代码:

public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.videoview);
    extras = getIntent().getExtras();
    progressDialog = ProgressDialog.show(TvMenuOne.this, "TV1",
            "Please Wait..", true, true);
    PlayVideo();
}

private void PlayVideo() {
    try {
        videoView = (VideoView) findViewById(R.id.surface_view);
        if(extras.getString("id").equals("one")){
            videoView.setVideoPath(pathL);
        }
        if(extras.getString("id").equals("two")){
            videoView.setVideoPath(pathM);
        }

        videoView.setVideoQuality(MediaPlayer.VIDEOQUALITY_HIGH);
        videoView.setMediaController(new MediaController(TvMenuOne.this));

        videoView.setOnPreparedListener(new OnPreparedListener() {

            public void onPrepared(MediaPlayer mp) {
                progressDialog.dismiss();
                videoView.start();
            }
        });

    } catch (Exception e) {
        progressDialog.dismiss();
        System.out.println("Video Play Error :" + e.toString());
        finish();
    }
}

嘿,我想我找到了解决办法::

在选项卡之间切换时执行此操作

Intent intent= new Intent().setClass(this,SecondClass.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
然后执行此操作…

tabHost.addTab(tabHost.newTabSpec(“ABCD”).setIndicator(tabIndicator(…).setContent(intent));

这意味着无论何时你将从选项卡切换,然后意图。标记活动\u清除\u顶部为你创建新视图


干杯…

我通过重写onPause方法解决了这个问题,看起来活动在显示新意图之前进入了暂停模式

@Override
public void onPause() {
    super.onPause();
    videoView.stopPlayback();
    videoView.setVisibility(2);
}

您是否尝试过重写
setOnCompletionListener
method?@ρцσѕρєK否,事实上,我不知道如何在我的情况下使用该方法。。