2016-06-16 4 views
0

タブを変更すると、前のタブのフラグメントサービスはバックグラウンドで実行されていますが、これは不要です。タブの変更に関する以前のフラグメントサービスの停止

タブの変更で以前のフラグメントクラスサービスを停止したい場合はどうすればよいですか?

は、ここに私のコードです:

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) { 

     } 
    }); 
+0

私はあなたがやろうとしているかわからないんだけど、フラグメントが画面に表示されていないたびに、それはそれはあなたが起動または停止するために使用することができます 'onPause()'メソッド、です呼び出します。あなたのサービス。 – EricDS

+0

私の最初のタブにストリームビデオを再生します。しかし、私はタブのビデオが背景で実行されている変更します。私は断片クラスサービスを停止したい。 私はあなたが私を理解することができると思う – Istiyak

+0

あなたのビデオプレーヤークラスは、ビデオの再生を停止する停止方法を持っている必要があります。 'Fragment'の' onPause() 'メソッドをオーバーライドし、そのstop関数を呼び出す必要があります。 – Ralphilius

答えて

0
onPause(){ 
    finish();  
} 

あなたは完全にあなたの特定のタブを終了するためにこれを使用することができ、そしてあなたは、そのタブに戻りしようとすると、再びタブを呼び出す必要があります。
または

onPause(){ 
    stop(); 
} 
void stop(){ 
your code to stop the video. 
} 
関連する問題