2017-12-25 32 views
2

In meiner Anwendung habe ich Toolbar in der MainActivity und innerhalb der MainActivity habe ich eine ViewPager, um 4-Fragment zu zeigen. Die toolbar enthält einige Bilder (button).Ausblenden des Elements aus der MainActivity-Symbolleiste in einem Fragment

Ich möchte in einem dieser Fragmente das Bild aus der toolbar verstecken. Ich schrieb den Code unten, aber es verbirgt das Bild in allen fragments.

Mein Code:

@Override 
public void setUserVisibleHint(boolean isVisibleToUser) { 
    super.setUserVisibleHint(isVisibleToUser); 
    if (isVisibleToUser) { 
     Handler handler = new Handler(); 
     handler.postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       troy.setVisibility(View.GONE); 
      } 
     }, 50); 
    } 
} 

Ich mag es verbergen nur in meinen aktuellen fragment, nicht alle von ihnen.

Wie kann ich es tun?

Antwort

0

Sie addOnPageChangeListener() Ihrer ViewPager

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener(){ 

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

    } 

    @Override 
    public void onPageSelected(int position) { 
     if (position == 0) { // Condition may vary according to your needs... 
      troy.setVisibility(View.GONE); 
     } else { 
      troy.setVisibility(View.VISIBLE); 
     } 
    } 

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

arbeiten Sie mich nicht! Verwenden können In alle Fragmente gegangen! – pom

+0

Bearbeitete die Antwort. Sie können die 'ViewPager'-Funktionen nutzen. – Wizard

+0

Ich schreibe unten Code. aber zeigen Sie mir diese Ansicht in alle Fragmente – pom

Verwandte Themen