-3

Ich denke, das Problem ist, dass:zusammen mit dem Fragment Android

 { 
      .. 
     @Override 
     public void onTabSelected(TabLayout.Tab tab) { 
      viewPager.setCurrentItem(tab.getPosition()); 
     } 

     @Override 
     public void onTabUnselected(TabLayout.Tab tab) { 

     } 

     @Override 
     public void onTabReselected(TabLayout.Tab tab) { 

     } 
    }); 
    .. 
    this.setTitle("Home"); 

    } 

und:

@Override 
public Fragment getItem(int position) { 

    switch (position) { 
     case 0: 
      Home home = new Home(); 
      return Home; 
     case 1: 
      Mail mail = new Mail(); 
      return mail; 
     default: 
      return null; 
    } 
} 

ich jetzt anstelle der Seitentitel zeigen möchten, das neue Fragment setTitle

@Override 
public Fragment getItem(int position) { 

switch (position) { 
    case 0: 
     Home home = new Home(); 
     this.setTitle("change"); 
     return Home; 
    case 1: 
     Mail mail = new Mail(); 
     this.setTitle("change");  
     return mail; 
    default: 
     return null; 
} 

ich weiß, dass nicht richtig ist, aber ich weiß nicht, was die korrekte Syntax eine ganze da ist Ich versuche zu lösen, aber nichts. Ich würde nur den Titel ändern.

Antwort

0
final ArrayList<String> arrayList = new ArrayList<>(); 
    arrayList.add("Menu1"); 
    arrayList.add("Menu2"); 
    arrayList.add("Menu3"); 
    arrayList.add("Menu4"); 
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 

     @Override 
     public void onPageSelected(int position) { 
      getSupportActionBar().setTitle(arrayList.get(position)); 
     } 

     @Override 
     public void onPageScrolled(int arg0, float arg1, int arg2) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onPageScrollStateChanged(int pos) { 
      // TODO Auto-generated method stub 

     } 
    });