J'ai un projet dans lequel j'essaie de faire un refactoring de mes TabHosts existants. J'ai un tas de fichiers TabHost très simples qui ressemblent à la classe ci-dessous. Certains n'ont en réalité qu'une seule tabulation, d'autres 3, etc. - la seule vraie différence est le nombre d'onglets et la classe d'activité chargée dans chacun d'entre eux. Je voudrais juste créer un TabHost unique qui pourrait extraire l'information d'un Bundle réussi pour déterminer le nombre d'onglets et l'information nécessaire (spec, indicateur, contenu) pour construire/ajouter chaque onglet. Il semble que les éléments que je peux placer dans le paquet sont assez basiques et je ne suis pas familier avec les fonctionnalités Parcelable ou Serializable. Aucune suggestion?Android - création d'un TabHost générique, transmission d'informations à l'aide d'un problème Bundle
public class SomeTabHost
extends ActivityGroup
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// Inflate ourselves into the layout ViewStub
ViewStub vs = (ViewStub) findViewById(R.id.theViewStub);
vs.setLayoutResource(R.layout.my_tabhost);
vs.inflate();
TabHost host = (TabHost) findViewById(android.R.id.tabhost);
host.setup(getLocalActivityManager());
host.addTab(host.newTabSpec("Tab1")
.setIndicator("Tab1")
.setContent(new Intent(this, SomeActivity.class)));
host.addTab(host.newTabSpec("Tab2")
.setIndicator("Tab2")
.setContent(new Intent(this, SomeOtherActivity.class)));
int numChildren = host.getTabWidget().getChildCount();
for (int i=0; i <numChildren; i++)
{
host.getTabWidget().getChildAt(i).getLayoutParams().height = 35;
}
}// end onCreate
}// end class