-3

Я думаю, что проблема в том, что:Измените заголовок страницы вместе с фрагментом 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"); 

    } 

и:

@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; 
    } 
} 

теперь я хотел бы показать, вместо заголовка страницы, новый фрагмент 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; 
} 

Я знаю, что это не правильно, но я не знаю, что правильный синтаксис в целом да Я пытаюсь решить, но ничего. Я бы просто изменил название.

ответ

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 

     } 
    });