2010-11-23 9 views
2

J'ai une disposition avec onglets avec 2 onglets, chaque onglet a sa propre vue. Je recherche une fonction qui peut être écrasée qui est appelée à chaque fois si je clique sur un onglet pour montrer la disposition.Y at-il une fonction dans Android comme onShow dans MFC pour la mise en page

Merci à l'avance ...

Hasan Caliskan

EDIT:

Merci pour vous réponses, mais il ne fonctionne pas ...

onWindowVisibilityChanged 

est appelé un temps si je démarre mon application.

onFocusChanged 

la fonction n'est jamais appelée ???

Ou je fais quelque chose de mal? Voici le code que j'ai mis ...

protected void onWindowVisibilityChanged(int a) 
{ 
    int c = 0; 

    c+= 1; 
} 

protected void onFocusChanged(boolean b, int i , Rect rec) 
{ 
    int c = 0; 

    c += 1; 
} 
+0

Salut, J'espère que vous avez deux onglets à savoir principale et secondaire, lorsque vous cliquée onglet principal, une vue doit être ouvert et de même lorsque vous clikced onglet sous, Une autre vue doit être ouverte. Ai-je raison –

+0

Oui, c'est la façon dont je suis en train d'essayer de montrer les mises en page. –

Répondre

1
  Then you can use tabchanged event as shown below 

tabHost.addTab(tabHost.newTabSpec("tab1").setContent(
       R.id.content_movies).setIndicator("", 
       getResources().getDrawable(R.drawable.menu_article))); 
     tabHost.addTab(tabHost.newTabSpec("tab2").setContent(
       new Intent(this, BS_Bars.class)).setIndicator("", 
       getResources().getDrawable(R.drawable.menu_bar))); 
    tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() { 

     @Override 
     public void onTabChanged(String arg0) { 
     Bundle b=new Bundle(); 

     if(arg0.equals("tab1")) 
     { 

     // write the code here to show the view 


     } 

     else if (arg0.equals("tab2")) { 

       // write the code here to show the view 
     } 
     }); 
+0

Merci pour l'extrait de code, je dois aller savoir :(je suis essayer plus tard et si cela fonctionne.Merci encore ... –

+0

@Hasan Caliskan: Pour gagner la réputation, et faire d'autres à répondre à votre question, votez et accepte les bonnes réponses de vos questions –

+0

Salut, ça marche super - Merci beaucoup :) –

0

Comment sur le remplacement

onWindowFocusChanged(boolean hasWindowFocus) 

Appelé lorsque la fenêtre contenant ces gains de vue ou perd le focus.

Edit: Essayez

onFocusChanged(boolean, int, Rect) or onWindowVisibilityChanged(int) 
+0

Salut, j'avais essayé cela, mais la fonction ne s'appelle pas si je commute entre les onglets. Cette fonction n'est appelée que si je quitte mon application. Est-ce qu'il n'y a pas de fonction comme onShow dans MFC ??? –