Je souhaite lancer plusieurs fragments dans une activité en fonction de leur nom, où 'i' est un nombre donc ... DummySection1Fragment, DummySection2Fragment, DummySection3Fragment, etc., quel que soit le problème rencontré. et tirer la valeur à travers pour créer l'appel. J'ai inclus l'appel statique de base et celui que j'ai créé moi-même basé sur ce que je sais du monde JavaScript (je parie que c'est mon problème). J'apprécierais n'importe quelle aide (pendant que je me regarde encore) sur la meilleure manière de faire ceci car je suspecte que c'est une méthode potentielle que j'emploierai encore et encore.Mise à jour dynamique d'un appel de fragment
actuel code statique
public Fragment getItem(int i) {
Fragment fragment = new DummySectionFragment();
Erreur: caractère non valide constant
public Fragment getItem(int i) {
Fragment fragment = new 'DummySection' + i + 'Fragment'();
complet Code
/**
* A {@link FragmentPagerAdapter} that returns a fragment corresponding to one of the primary
* sections of the app.
*/
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
Fragment fragment = new DummySectionFragment();
Bundle args = new Bundle();
args.putInt(DummySectionFragment.ARG_SECTION_NUMBER, i + 1);
fragment.setArguments(args);
return fragment;
}
@Override
public int getCount() {
return 6;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0: return getString(R.string.title_section1).toUpperCase();
case 1: return getString(R.string.title_section2).toUpperCase();
case 2: return getString(R.string.title_section3).toUpperCase();
case 3: return getString(R.string.title_section4).toUpperCase();
case 4: return getString(R.string.title_section5).toUpperCase();
case 5: return getString(R.string.title_section6).toUpperCase();
}
return null;
}
}
Merci pour les pensées Eric .... en cours de lecture avec certains des ADT exemples .... J'ai collé l'adaptateur complet ci-dessus. TBH Je suis tenté de construire à partir du blanc, donc je sais ce qui se passe plutôt que de l'éditer .... –
La façon dont il est déjà configuré, il envoie un argument * à * le 'Fragment' en lui disant quel numéro il est. Ainsi, chacun est le même 'DummySectionFragment', mais se comporte différemment en fonction de l'argument' ARG_SECTION_NUMBER'. – Eric
Oui ... comment l'exemple ne prend que cet argument et imprime le texte à l'écran et change le titre. Prendre un peu de recul si j'ai 6 écrans différents que je prévois - 2 sont RSS, 1 texte et un HTML construisant la logique (if/else etc) car cela semble être le long chemin plutôt que d'appeler des fragments individuels? –