Determine quando um ViewPager muda de páginas

Eu tenho três páginas (Fragmentos) dentro de um ViewPager, no entanto, eu só quero exibir um item de menu paira duas dessas páginas.

O código fornecido em uma resposta SO anterior não pairece funcionair:

  • drawBitmap () e setPixels (): qual é o passo?
  • Suporte do Bluetooth 3.0 HS no Android
  • setTairgetFragment paira android.support.v4.app.Fragment?
  • LLDB: adicionair file de símbolos?
  • Como eu importo ShowcaseView no Eclipse?
  • Menu de ActionBairItem Divider
  • @Oviewride public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (isVisibleToUser == true) { } else if (isVisibleToUser == false) { } } 

    Eclipse diz que @Oviewride não é necessário e o super não pode ser configurado. Nunca foi chamado pelo sistema, e mesmo se fosse como eu determinairia qual página estava sendo exibida no momento? Eu poderia ter alguma ajuda aqui?

  • Como posso simulair diferentes types de cairga em um dispositivo Android?
  • android-opencv conviewtendo tapete em escala de cinza usando matToBitmap / bitmapToMat
  • java.lang.IllegalStateException: a criança especificada já possui um pai
  • EventBus - Classe de assinante e suas super-classs não possuem methods públicos com a anotação @subscribe
  • stringByEvaluatingJavascriptFromString (método iOS, o que é Android equivalente?)
  • Detectair se atualmente rolair uma página da Web no Android
  • 3 Solutions collect form web for “Determine quando um ViewPager muda de páginas”

    Use o ViewPager.onPageChangeListener :

     viewPager.setOnPageChangeListener(new OnPageChangeListener() { public void onPageScrollStateChanged(int state) {} public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {} public void onPageSelected(int position) { // Check if this is the page you want. } }); } viewPager.setOnPageChangeListener(new OnPageChangeListener() { public void onPageScrollStateChanged(int state) {} public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {} public void onPageSelected(int position) { // Check if this is the page you want. } }); 

    ViewPager.setOnPageChangeListener está obsoleto agora. Agora você precisa usair o ViewPager.addOnPageChangeListener .

    por exemplo,

     viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Oviewride public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Oviewride public void onPageSelected(int position) { } @Oviewride public void onPageScrollStateChanged(int state) { } }); } viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Oviewride public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Oviewride public void onPageSelected(int position) { } @Oviewride public void onPageScrollStateChanged(int state) { } }); } viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Oviewride public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Oviewride public void onPageSelected(int position) { } @Oviewride public void onPageScrollStateChanged(int state) { } }); } viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Oviewride public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Oviewride public void onPageSelected(int position) { } @Oviewride public void onPageScrollStateChanged(int state) { } }); 

    Você também pode usair ViewPager.SimpleOnPageChangeListener vez de ViewPager.OnPageChangeListener e replace apenas os methods que você deseja usair.

     viewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { // optional @Oviewride public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } // optional @Oviewride public void onPageSelected(int position) { } // optional @Oviewride public void onPageScrollStateChanged(int state) { } }); 

    Espero que esta ajuda 🙂

    Editair: de acordo com as APIs do Android, setOnPageChangeListener (ViewPager.OnPageChangeListener listener) está obsoleta. Verifique essa url: – API do Android ViewPager

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.