2016-08-01 1 views
0

Mon activité:titre de changement Android lorsque vous utilisez le bouton Retour

TextView title; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    Overview overview = new Overview(); 

    setContentView(R.layout.activity_second); 
    if (savedInstanceState == null) { 
     getSupportFragmentManager().beginTransaction() 
       .add(R.id.mycontainer, overview) 
       .commit(); 
    } 
    Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar); 
    //Some more code 

    title = (TextView) toolbar.findViewById(R.id.screentitle); 
    title.setText("Overzicht"); 


} 



@Override 
public boolean onNavigationItemSelected(MenuItem item) { 

    switch(item.getItemId()){ 
     case R.id.nav_menu_overview: 
      title.setText("Overzicht"); 
      getSupportFragmentManager().beginTransaction().replace(R.id.mycontainer, new Overview()).addToBackStack(null) 
        .commit(); 

      break; 
     case R.id.nav_menu_favourites: 
      title.setText("Favorieten"); 
      getSupportFragmentManager().beginTransaction().replace(R.id.mycontainer, new Favourites()).addToBackStack(null) 
        .commit(); 

      break; 

     case R.id.nav_menu_profile: 
      title.setText("Profiel"); 
      getSupportFragmentManager().beginTransaction().replace(R.id.mycontainer, new Profile()).addToBackStack(null) 
        .commit(); 
      break; 
    } 

Ainsi, en ce moment, le titre se change si j'utilise mon menu pour changer des fragments. Cependant, si j'utilise le bouton de retour Android, le titre ne sera pas modifié. Comment puis-je changer le titre chaque fois que le bouton de retour est utilisé?

+0

Avez-vous seulement une activité et 3 fragments? – Shaishav

+0

voir ce lien http://stackoverflow.com/questions/24161160/setuservisiblehint-called-before-oncreateview-in-fragment –

Répondre

1

Vous pouvez simplement remplacer la méthode onBackPressed de l'activité et de gérer le scénario.

Une approche beaucoup mieux serait que vous puissiez définir le titre à l'intérieur du fragment onViewCreated de sorte que quel que soit le fragment sur le dessus définira automatiquement la tuile que vous voulez définir.

par exemple: Définition du titre à l'intérieur du fragment

Toolbar toolbar= (Toolbar) getActivity().findViewById(R.id.toolbar); 
toolbar.setTitle("What ever you want to set"); 

Aussi ne définissez pas le titre dans onNavigationItemSelected son doit être utilisé pour naviguer à ne pas définir le titre.

0

Mettre le titre de l'activité de changement de code dans onResume() de l'activité:

@Override 
protected void onResume() { 
    Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar); 
    //Some more code 

    title = (TextView) toolbar.findViewById(R.id.screentitle); 
    title.setText("Overzicht"); 

}