2012-07-19 11 views
3

Je suis en train de développer une application utilisant tabHost. Dans ces 5 onglets, chaque onglet peut ouvrir plusieurs activités. Mon problème est que dans le dernier onglet (5ème onglet) j'ai fait la fonctionnalité de capture de caméra donc il ouvre la caméra et capture l'image mais avant d'appeler onActivityResult il appelle le premier onglet (1er onglet) et après cet appel onActivityResult du dernier onglet. Mais je ne sais pas pourquoi cela arrive?Problème lié à l'activité OnActivityResult

Mon code est ici:

Pour créer plusieurs activités que j'utilise ceci: http://ericharlow.blogspot.in/2010/09/experience-multiple-android-activities.html

TabPage:

public class TabPage extends TabActivity { 

    Resources res; 
    public static TabHost tabHost; 
    TabSpec obj, obj1; 
    Intent intent; 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState);  
     tabHost = getTabHost(); 
     res = getResources(); 

     obj1 = tabHost.newTabSpec("tab1"); 
     tabHost.addTab(obj1.setIndicator("", 
       res.getDrawable(R.drawable.tab1)).setContent(
       new Intent(this, Act1.class))); 
         .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))); 

     obj = tabHost.newTabSpec("tab2"); 
     tabHost.addTab(obj.setIndicator("", 
       res.getDrawable(R.drawable.tab2)).setContent(
       new Intent(this, Act2.class) 
         .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))); 

     obj = tabHost.newTabSpec("tab3"); 
     tabHost.addTab(obj.setIndicator("", 
       res.getDrawable(R.drawable.tab3)).setContent(
       new Intent(this, Act3.class) 
         .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))); 

     obj = tabHost.newTabSpec("tab4"); 
     tabHost.addTab(obj.setIndicator("", 
       res.getDrawable(R.drawable.tab4)).setContent(
       new Intent(this, Act4.class) 
         .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))); 

     obj = tabHost.newTabSpec("tab5"); 
     tabHost.addTab(obj.setIndicator("", 
       res.getDrawable(R.drawable.tab5)).setContent(
       new Intent(this, Act5.class))); 

      tabHost.setCurrentTab(0); 

    } 

    public void switchTab(int tab) { 
     tabHost.setCurrentTab(tab); 
    } 

} 
+1

[Jetez un oeil à ce poste] (http://stackoverflow.com/a/6679665/593709) –

+0

Merci pour votre réponse. –

Répondre