【问题标题】:Stop Previous Fragment Service on Tab Changes在选项卡更改时停止先前的片段服务
【发布时间】:2016-06-16 01:54:45
【问题描述】:

当我更改 Tab 时,前一个标签的片段服务仍在后台运行,这是我不希望的。

如果我想在 Tab 更改时停止之前的片段类服务,我该怎么办?

这是我的代码:

   tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener(){

        @Override
        public void onTabSelected(TabLayout.Tab tab) {
            TextView tabTitle = (TextView) findViewById(R.id.tabTitle);

            //  System.out.println( tabLayout.getSelectedTabPosition());

            tabTitle.setText(getResources().getStringArray(R.array.tab_tittle)[tabLayout.getSelectedTabPosition()]);
            viewPager.setCurrentItem(tabLayout.getSelectedTabPosition());

        }

        @Override
        public void onTabUnselected(TabLayout.Tab tab) {

        }

        @Override
        public void onTabReselected(TabLayout.Tab tab) {

        }
    });

【问题讨论】:

  • 我不确定您要做什么,但是每次在屏幕上看不到片段时,它都会调用它的 onPause() 方法,您可以使用它来启动或停止您的服务。
  • 在我的第一个标签上播放流视频。但是当我更改标签时,视频在后台运行。我想停止那个片段类服务。我想你能理解我
  • 您的视频播放器类应该有停止播放视频的停止方法。您需要覆盖 FragmentonPause() 方法并调用该停止函数。

标签: java android android-fragments android-tabs


【解决方案1】:
onPause(){
    finish();    
}

您可以使用它来完全终止您的特定标签,当您尝试返回该标签时,您必须再次调用该标签。

onPause(){
    stop();
}
void stop(){
 your code to stop the video.
} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-18
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多