我有一个动态的viewpager,每个片段都有一个播放按钮,点击后会变为暂停按钮。
现在我要做的是,当用户点击任何其他片段中的播放按钮时,最后播放片段中的播放按钮应该从暂停播放到播放,即我希望播放按钮仅在一个片段中一次激活休息应该处于默认状态。
我尝试使用以下代码执行此操作
pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
previous = current;
current = position;
try{
if(position!=0)
{
SwipeFragItem yourFragment = (SwipeFragItem)mPageAdapter.getItem(previous);
yourFragment.refresh();
}
}
catch (Exception e){
Crashlytics.logException(e);
}
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
在70%的情况下执行我的任务,但在30%的情况下不会刷新。我已经确保它在这30%的情况下被执行,并且它不会抛出任何异常。
如果您发现我的方法不合适,请以其他方式提出建议。
任何帮助将不胜感激。谢谢。