Wie fügt man einer Android-XML-Ansicht zur Laufzeit ein Schaltflächensteuerelement hinzu?

8

Ich habe ein Android-XML-Layout, main.xml. Ich möchte diesem Layout zur Laufzeit Steuerelemente hinzufügen (ich möchte eine Reihe von zusätzlichen linearen Layouts hinzufügen, die Schaltflächensteuerelemente enthalten). Kann ich das tun und wenn ja, wie?

Danke

    
user501223 07.02.2011, 17:46
quelle

6 Antworten

6

Ich sehe den Fehler hier

%Vor%

Wenn Sie das Layout als Linearlayout-Objekt verwenden, sollten Sie die LinearLayout-ID

verwenden

Versuchen Sie es

%Vor%     
praveenb 07.02.2011, 18:04
quelle
3

Sie können Steuerelemente programmgesteuert hinzufügen, wenn Sie in Ihrem Code möchten, oder sogar ein anderes XML mit einem View und einem Inflater.

Hier können Sie die Grundlagen lesen: Ссылка

    
Nacho L. 07.02.2011 18:03
quelle
3

Ok, ich habe es zur Arbeit gebracht.

Die Schritte sind die folgenden: Erweitern Sie zuerst das XML-Layout, dh

%Vor%

Instanziieren Sie dann das Containerobjekt aus dem XML-Layout in eine ViewGroup-Klasse, dh

%Vor%

Erstellen Sie dann ein linearLayout-Objekt, erstellen und fügen Sie alle erforderlichen Steuerelemente hinzu, fügen Sie dem Containerobjekt das Argument linearLayout hinzu und verwenden Sie setContentView für das Ansichtsobjekt, z. B.

%Vor%     
user501223 09.02.2011 20:27
quelle
0

Sie können dies ganz einfach tun, indem Sie eine ID für das Layout festlegen, dem Sie Ansichten hinzufügen möchten. Sagen Sie, Ihre main.xml sieht so aus:

%Vor%

Nehmen wir an, Sie möchten Ihre zusätzlichen Sichten zum LinearLayout mit der ID id/container hinzufügen. In Ihrer onCreate -Methode können Sie dieses Objekt zur späteren Verwendung abrufen:

%Vor%

Jetzt können Sie Ihrem Container ViewGroup :

weitere Ansichten hinzufügen %Vor%

In der Methode getButtons müssen Sie Ihre LinearLayout mit den benötigten Schaltflächen erstellen. Entweder programmgesteuert oder durch Aufblasen einer in einer XML-Datei definierten Ansicht. Siehe LayoutInflater.inflate .

    
Arlaharen 07.02.2011 19:07
quelle
0

versuche es einfach:

%Vor%

Erstellen Sie nun dynamisch einen Button wie diesen

%Vor%

jetzt, wenn Sie onether linearlayout hinzufügen möchten, dann fügen Sie es unter Knopf dann

hinzu %Vor%     
Alex Cooper 15.11.2011 06:16
quelle
0
  

Versuchen Sie Folgendes:

%Vor%
  

Dies könnte Ihnen helfen

    
Rutvik 20.09.2015 20:59
quelle

Tags und Links