2015-06-16 10 views

Odpowiedz

489

Znaleziono odpowiedź na własną rękę po prostu chciałem podzielić it.i.e,

ViewPager.setOnPageChangeListener jest przestarzałe teraz. Zamiast tego musisz użyć ViewPager.addOnPageChangeListener.

np

ViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
     @Override 
     public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 

     } 

     @Override 
     public void onPageSelected(int position) { 

     } 

     @Override 
     public void onPageScrollStateChanged(int state) { 

     } 
    }); 

ten można znaleźć na Google Developer site.

+2

Wygląda na to, że Eclipse nie mógł znaleźć metody addOnPageChangeListener, czy mogę zapytać, z jakiej biblioteki jest to wsparcie? –

+5

Myślę, że wzmianka o clearOnPageChangeListeners() jest godna tutaj, więc nie ma wielu słuchaczy podczas korzystania addOnPageChangeListener(). – clocksmith

+2

To jest mylące. Byłoby miło, gdyby trzymali się tej samej składni i po prostu zastąpili to połączenie lub coś w zaktualizowanej wersji. –

5

można osiągnąć poprzez SimpleOnPageChangeListener Poniżej znajduje się kod:

private Fragment page = null; 
/** Defining a listener for pageChange */ 
     ViewPager.SimpleOnPageChangeListener pageChangeListener = new ViewPager.SimpleOnPageChangeListener(){ 
      @Override 
      public void onPageSelected(int position) { 
       super.onPageSelected(position); 

       page = getSupportFragmentManager().findFragmentByTag("android:switcher:" + R.id.pager_selectPhotos + ":" + position); 

       System.out.println(page); 
       switch (position) { 
       case 0: 

        break; 
       case 1: 

        break; 

       default: 
        break; 
       } 
      } 
     }; 
     /** Setting the pageChange listener to the viewPager */ 
     _pager.setOnPageChangeListener(pageChangeListener); 
+0

Pytanie było alternatywą dla * przestarzałej * funkcji setOnPageChangeListener. – Elementary

32

Zastosowanie ViewPager.addOnPageChangeListener zamiast ViewPager.setOnPageChangeListener.

33

ten pracował dla mnie:

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener(){ 

    @Override 
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {  
     conterchange.setText(""+(1+position)); 
    } 

    @Override 
    public void onPageSelected(int position) { 
    } 

    @Override 
    public void onPageScrollStateChanged(int state) { 
    } 
});