2016-12-15 113 views
-1

我有一個viewpagerVideoView試圖瞭解onPageScrolled

所以我想當我滾動當前頁面的視頻暫停。這東西我在onPageScrolled做但我遇到了一個問題,因爲這種方法被稱爲多次。

我已經搜索了android官方文檔,但我還沒有找到任何東西。

viewPager.addOnPageChangeListener(新ViewPager.OnPageChangeListener(){

@Override 
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 


    VideoView videoView = (VideoView) viewPager.findViewWithTag("videoView"+position); 
    if(videoView!=null){ 
     Log.d(TAG,"onPageScrolled "+position); 
     videoView.pause(); 
    } 

} 

@Override 
public void onPageSelected(int position) { 
    //Toast.makeText(getApplicationContext(),"onPageSelected "+position,Toast.LENGTH_SHORT).show(); 
    View view = (View) viewPager.findViewWithTag("view" + position); 
    if(view!=null) { 

     //ImageView thumbnail = (ImageView) view.findViewById(R.id.fullScreenVideoThumbnail); 
     //thumbnail.setVisibility(View.GONE); 

     Log.d(TAG,"onPageSelected Position: "+position); 
     VideoView videoView = (VideoView) view.findViewById(R.id.fullScreenVideoFullVideo); 
     videoView.bringToFront(); 
     videoView.start(); 
    } 



} 

@Override 
public void onPageScrollStateChanged(int state) { 
    //Toast.makeText(getApplicationContext(),"onPageScrollStateChanged",Toast.LENGTH_SHORT).show(); 
} 

});

回答

0

您可以再次檢查videoView!= null,以檢查視頻是否已暫停。如果是,那就什麼都不做,如果不是,請暫停它。這將確保無論該方法調用多少次只暫停視頻一次

+0

謝謝。你給了我一個主意。而不是你說我使用的** onPageSelected位置**保存爲變量,然後在** onPageScrolled ** – kamboj

+0

內比較它是否需要視頻在滾動上暫停?如果每次使用onPageSelected選擇頁面,它都會暫停視頻。但我想我可能誤解了你的帖子,下次會更清楚。無論如何,你的歡迎 –