1

나는 모든 조각에 재생 단추가있는 동적 뷰 페이지가있어서 클릭시 일시 중지 단추로 바뀝니다.뷰 페이지에서 포커스가없는 조각 새로 고침

이제 내가하려는 것은 사용자가 다른 조각에서 재생 버튼을 클릭하면 마지막으로 재생되는 부분의 재생 버튼이 재생 일시 정지에서 새로 고쳐 져야한다는 것입니다. 즉, 한 번에 하나의 프래그먼트에서만 재생 버튼을 활성화하고 싶습니다. 나머지는 기본 상태 여야합니다.

나는 코드를 시간의 70 % 내 작업을 할

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

     } 
    }); 

을 다음과 같이이 일을 시도하지만 사건의 30 %에 새로 고쳐지지 않습니다. 나는 이것이이 30 %의 사례에서 실행되도록 보장했으며 어떤 예외도 발생시키지 않습니다.

내 접근 방식이 적절하지 않다면 다른 방법을 제안하십시오.

도움이 될 것입니다. 미리 감사드립니다.

답변

0

내가 생각할 수있는 한 가지 방법은 이벤트 버스를 사용하는 것입니다. 같은 뭔가 : Greenbot 또는 재생 버튼을 눌렀을 때, 모든 조각이 통보됩니다 트리거됩니다 이벤트를 듣고 뷰 페이저에 추가 모든 조각을 등록하면

Otto. 이벤트에는 분명히 식별자가 있어야 조각의 재생 버튼을 눌렀 음을 알 수 있습니다. 동일한 조각이 아닌 경우 단추를 기본 상태로 되돌릴 수 있습니다. 다시 말하지만, 이것은 내가 생각할 수있는 한 가지 방법 일뿐입니다.

관련 문제