2010-11-18 7 views
0

Est-il possible de créer une seule classe et d'utiliser une variable pour contentview? Je pense à créer une mise en page principale avec des tas de boutons avec des ID. Une fois qu'un bouton est enfoncé, il transmettra l'ID à la classe et utilisera cet ID pour ouvrir une mise en page spécifique. Une classe, plusieurs mises en pageAndroid: Est-il possible de rendre une Contentview dynamique?

public class Main extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); //is it possible to make 'main' a variable? 
    } 
} 
+0

Hmm (minlength) –

+0

Avez-vous obtenu votre réponse? – Thomas

Répondre

0

R.layout.main résout à un nombre entier (ou peut-être un long, je l'oublie) de sorte que vous devriez être en mesure de mettre en place une sorte de structure de contrôle comme ceci:

switch (mSomeDeterminingFactor) { 
    case 1: 
     layoutChoice = R.layout.main 
     break; 
    case 2: 
     layoutChoice = R.layout.altMain1 
     break; 
    case 3: 
     layoutChoice = R.layout.altMain2 
     break; 
    case else: 
     layoutChoice = R.layout.main 
     break; 
} 
setContentView(layoutChoice); 

Edit: Vous devez être prudent comment utiliser/sauvegarder/stocker ce numéro plus tard, bien que vous ne puissiez pas garantir que les valeurs des ressources seront les mêmes. Vous devriez continuer à les référencer via la classe R.