¿Cómo cambiar el título de la barra de herramientas mediante el diseño?

Estoy usando la ayuda de TabLayout de la biblioteca del diseño, estoy intentando cambiar el título de la barra de herramientas cuando la lengüeta se presiona o ViewPager se desliza. Pero no puedo conseguir ningún éxito hasta ahora. Este es el siguiente código: –

public class ActivityHomePage extends AppCompatActivity { private TabLayout tabLayout; private ViewPager viewPager; Toolbar toolbar; DesignDemoPagerAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_homepage); toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayShowTitleEnabled(false); viewPager = (ViewPager) findViewById(R.id.viewpager); setupViewPager(viewPager); // viewPager.getAdapter().getPageTitle(); tabLayout = (TabLayout) findViewById(R.id.tablayout); tabLayout.setupWithViewPager(viewPager); setupTabIcons(); } private int[] tabIcons = { R.drawable.ic_action_star, R.drawable.ic_action_heart, R.drawable.ic_action_square }; private void setupViewPager(ViewPager viewPager) { adapter = new DesignDemoPagerAdapter(getSupportFragmentManager()); adapter.addFrag(new FragmentStar(), "star"); adapter.addFrag(new FragmentHeart(), "heart"); adapter.addFrag(new FragmentSquare(), "square"); viewPager.setAdapter(adapter); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } private void setupTabIcons() { tabLayout.getTabAt(0).setIcon(tabIcons[0]); tabLayout.getTabAt(1).setIcon(tabIcons[1]); tabLayout.getTabAt(2).setIcon(tabIcons[2]); } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); switch (id) { case android.R.id.home: mDrawerLayout.openDrawer(GravityCompat.START); return true; case R.id.action_settings: return true; } return super.onOptionsItemSelected(item); } class DesignDemoPagerAdapter extends FragmentStatePagerAdapter { private final List<Fragment> mFragmentList = new ArrayList<>(); private final List<String> mFragmentTitleList = new ArrayList<>(); public DesignDemoPagerAdapter(FragmentManager manager) { super(manager); } @Override public Fragment getItem(int position) { return mFragmentList.get(position); } @Override public int getCount() { return mFragmentList.size(); } public void addFrag(Fragment fragment, String title) { mFragmentList.add(fragment); mFragmentTitleList.add(title); } @Override public CharSequence getPageTitle(int position) { return null; } } } 

Finalmente soy capaz de hacerlo, podría ser útil para alguien, así que aquí está la respuesta de lo anterior: –

  /** Tab & PageViewer Controller**/ tabLayout = (TabLayout) findViewById(R.id.tablayout); tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.ic_action_star)); tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.ic_action_heart)); tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.ic_action_square)); tabLayout.setTabGravity(TabLayout.GRAVITY_FILL); // setupTabIcons(); viewPager = (ViewPager) findViewById(R.id.viewpager); pAdapter = new PagerAdapter (getSupportFragmentManager(), tabLayout.getTabCount()); viewPager.setAdapter(pAdapter); toolbar.setTitle("Same Page"); viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { @Override public void onTabSelected(TabLayout.Tab tab) { switch(tab.getPosition()) { case 0: viewPager.setCurrentItem(0); toolbar.setTitle("Fragment Star"); break; case 1: viewPager.setCurrentItem(1); toolbar.setTitle("Fragment Heart"); break; case 2: viewPager.setCurrentItem(2); toolbar.setTitle("Fragment Squae"); break; default: viewPager.setCurrentItem(tab.getPosition()); toolbar.setTitle("Fragment Star"); break; } } @Override public void onTabUnselected(TabLayout.Tab tab) { } @Override public void onTabReselected(TabLayout.Tab tab) { } }); } /** **/ public class PagerAdapter extends FragmentStatePagerAdapter { int mNumOfTabs; public PagerAdapter(FragmentManager fm, int NumOfTabs) { super(fm); this.mNumOfTabs = NumOfTabs; } @Override public Fragment getItem(int position) { switch (position) { case 0: FragmentStar tab0 = new FragmentStar(); return tab0; case 1: FragmentHeart tab1 = new FragmentHeart(); return tab1; case 2: FragmentSquare tab2 = new FragmentSquare(); return tab2; default: return null; } } @Override public int getCount() { return mNumOfTabs; } } 
  • No se encontró ninguna vista para id 0x7f0e00d5 (com.example.page:id/dialogViewpager) para el fragmento OneFragment {92c0220 # 1 id = 0x7f0e00d5 android: switcher: 2131624149: 0}
  • TabLayout seleccionado El icono Tab no está seleccionado al iniciar:
  • Definir el estilo TabLayout en el tema
  • Cómo pegar TabLaout en la parte superior de ScrollView?
  • ¿Cómo puedo cambiar el color del icono de la pestaña seleccionada de TabLayout?
  • Mostrar teclado virtual en android TabLayout
  • TabLayout no rellena el ancho cuando tabMode se establece en 'scrollable'
  • Cómo desplazar tablayout programatically - Android
  • Android cómo ocultar la pestaña de TabLayout
  • TabLayout establece el espaciado o el margen de cada ficha
  • Navegación anterior separada para un buscador de vistas con pestañas en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.