2013-10-20 29 views
0

這是片段類如何在訪問另一個片段時停止mediaplayer?

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    View layoutView = inflater.inflate(R.layout.fragment_lyrics, 
      container, false); 
    int hymnNo = fragVal - 1; 
      //Database 
    final MediaPlayer p = MediaPlayer.create(getActivity(), R.raw.s); 

    final ToggleButton playPauseButton = 
    (ToggleButton)layoutView.findViewById(R.id.playpause); 
    playPauseButton.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 

      if (playPauseButton.isChecked()){ 

       p.start(); 
      }else{ 
       p.pause(); 
      } 

     }}); 

我在mind..how東西可以從這個片段我的媒體播放器可以停止一次,我去到另一個片段?並完全重置它(當前片段),這意味着我的切換按鈕也將在其默認位置? 香港專業教育學院試圖

public void onDetach() 
    { 
    getActivity().finish();} 

它不是working..my想法是消滅不可見的所有片段。 我也嘗試使用可見性的使用,但我沒有任何想法如何在片段生命週期中調用mediaplayer(即p.release()或p.stop(),如onDestroy或onDetach..please幫我guyz..i有想法,但不知道如何做到這一點。

回答

-1

試試這個。

@Override 
    public void setUserVisibleHint(boolean isVisibleToUser) { 
     super.setUserVisibleHint(isVisibleToUser); 
     if (isVisibleToUser) { 
      Log.d(TAG, "Visible"); 

      //your code 

     } else { 
      Log.d(TAG, "Not Visible"); 

       if (mPlayer != null){ 
       mPlayer.release(); 

       Log.d(TAG, "Player released"); 


      } 
     } 
    } 
+1

這將有助於增加你的[答案]一些細節(http://stackoverflow.com /幫助/如何回答)而不是'嘗試這個'。 – emmanuel

相關問題