2010-11-18 13 views
0

Ist es möglich, nur eine Klasse zu erstellen und eine Variable für die Inhaltsansicht zu verwenden? Ich denke über das Erstellen eines Hauptlayouts mit vielen Schaltflächen mit IDs nach. Sobald eine Schaltfläche gedrückt wird, übergibt sie die ID an die Klasse und verwendet diese ID, um ein bestimmtes Layout zu öffnen. Eine Klasse, mehrere Layouts.Android: Ist es möglich, einen Contentview dynamisch zu gestalten?

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

Haben Sie Ihre Antwort erhalten? – Thomas

Antwort

0

R.layout.main löst auf eine ganze Zahl (oder vielleicht eine lange, ich vergessen), so sollte man so wie eine Art Kontrollstruktur einzurichten fähig sein:

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: Sie sollten vorsichtig sein wie Sie diese Nummer später verwenden/speichern/speichern, da Sie nicht garantieren können, dass die Ressourcenwerte gleich sind. Sie sollten sie weiterhin über die R-Klasse referenzieren.

Verwandte Themen