Calo Posté(e) 27 avril 2011 Share Posté(e) 27 avril 2011 Bonjour à tous, étant nouveau dans le monde d'Android, j'ai quelques petits soucis dont celui-ci que je n'arrive pas à régler malgré mes recherches. J'ai une activité principale dans mon application qui contient quatre onglets. Un de ces onglets contient une liste (ListView) d'éléments "cliquables". Ces éléments, lorsque l'on clique dessus, affiche une nouvelle Activity avec différentes informations. Le soucis, c'est que, en cliquant sur une élément de la liste, l'Activity est bien lancée, mais tous les onglets disparaissent. Ce que je voudrais, c'est "glisser" d'une activité à une autre DANS le MÊME onglet. Dois-je utiliser un ViewFlipper (auquel cas je dois tout ranger dans une seule activité).. ? Merci par avance (je ne sais pas si j'ai exposé clairement le problème). Calo Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
laby Posté(e) 29 avril 2011 Share Posté(e) 29 avril 2011 Bonjour, voici comment je fais: TabHost tabs=(TabHost)findViewById(R.id.tabhost); tabs.setup(); // Alcoolemie TabHost.TabSpec spec = tabs.newTabSpec("alcoolemie"); spec.setContent(R.id.AlcoolemieLayout); //ici pas d'activité lancée juste un layout affiché spec.setIndicator(getString(R.string.alcoolemie),res.getDrawable(R.drawable.ic_tab_alcoolemie)); tabs.addTab(spec); ................. // Config spec = tabs.newTabSpec("Config"); spec.setContent(new Intent(this, PreferenceSettings.class)); // ici une preference activity dans l'onglet //spec.setIndicator("Config",res.getDrawable(R.drawable.ic_tab_config)); spec.setIndicator(getString(R.string.config),res.getDrawable(R.drawable.ic_tab_config)); tabs.addTab(spec); tabs.setup(this.getLocalActivityManager()); Cela fonctionne avec une preference activity donc probablement avec une activity. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Latitude Posté(e) 6 janvier 2012 Share Posté(e) 6 janvier 2012 bonjour, excusez moi mais je n'ai pas bien compris car j'ai le même problème. En fait, j'ai 4 tabHost qui lancent chacun 1 activity. jusque là tout marche très bien. mais le problème est que dans chacune de ces acticity, je dois lancer d'autres activity (ou sous-activity) qui n'ont pas leur label (ou icones) sur les tabHost. Alors comment faire pour gader les tabHost là où ils sont quand je me promène dans les sous-activity? voici mon code: Voici ma classe main qui aide à lancer les 4 Activity: public class Tabwidget extends TabActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Resources res = getResources(); TabHost tabHost = getTabHost(); TabHost.TabSpec spec; Intent intent; intent = new Intent().setClass(this, Activity1.class); spec = tabHost.newTabSpec("Activity1").setIndicator("Activity1", res.getDrawable(R.drawable.Activity1)).setContent(intent); tabHost.addTab(spec); intent = new Intent().setClass(this, Activity2.class); spec = tabHost.newTabSpec("Activity2").setIndicator("Activity2", res.getDrawable(R.drawable.Activity2)).setContent(intent); tabHost.addTab(spec); intent = new Intent().setClass(this, Activity3.class); spec = tabHost.newTabSpec("Activity3").setIndicator("Activity3", res.getDrawable(R.drawable.Activity3)).setContent(intent); tabHost.addTab(spec); intent = new Intent().setClass(this, Activity4.class); spec = tabHost.newTabSpec("Activity4").setIndicator("Activity4", res.getDrawable(R.drawable.Activity4)).setContent(intent); tabHost.addTab(spec); tabHost.setCurrentTab(0); } } et voici ce qui se passe dans l'une des activity, prennons Activity1 par exemple: public class Activity1 extends Activity implements OnClickListener{ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity1); Button sub_activity_1_btn = (Button) findViewById(R.id.sub1); sub_activity_1_btn.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { startActivity(new Intent("com.subActivity1")); } }); Button sub_activity_2_btn = (Button) findViewById(R.id.sub2); sub_activity_2_btn.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { startActivity(new Intent("com.subActivity2")); } }); } public void onClick(View v) { } } là mon activity1 a 2 boutons pour aller à subActivity1 et subActivity2. Main quand je clique sur un de ces boutons, le tabWidget disparait (ce qui est logique) mais comment fait-on pour qe ça ne disparait pas. Merci. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.