Android: Programmgesteuertes Hinzufügen von Schaltflächen zu einem Layout

8

Ich versuche eine Hinzufügen-Schaltfläche zu erhalten, um dem Layout eine weitere Schaltfläche hinzuzufügen, basierend auf dem Editiertext links von der Schaltfläche. Der Punkt ist, dass eine Person die Räume in ihrem Haus auflistet, und dann, wenn sie jeden Raum eingeben, wird eine neue Schaltfläche generiert, damit sie auf den Raum klicken und dann mit der Arbeit auf der nächsten Seite beginnen können.

Ich hatte ein xml-Layout fertig, und dann merkte ich, dass ich "programmatisch" Buttons hinzufüge, also habe ich das Layout programmatisch überarbeitet, und dann im switch / case (so mache ich onclicks) für den add button I versuchte, der Ansicht einen Knopf hinzuzufügen, aber es wird sehr schwierig. Ich würde gerne einen Scrollview unterhalb des EditText haben und Buttons hinzufügen, und wenn sie alle Räume zu ihrem Haus hinzufügen, wird es schließlich mit einer scrollbaren Liste von Buttons für ihr gesamtes Zuhause gefüllt. Gibt es eine Möglichkeit, Schaltflächen programmgesteuert zu einem XML-Layout hinzuzufügen. Ich dachte, du kannst es, aber alles, was ich versuche, funktioniert einfach nicht.

Vielen Dank für Ihre Hilfe. Wir würden uns über alle Ihre Empfehlungen sehr freuen.

Erste Bearbeitung (als Antwort auf Tanujs Lösung)

Meine XML-Datei (ich bin mir nicht sicher, ob wir das verwenden oder einfach das Java verwenden):

%Vor%

Und das Java. Das ist überhaupt nicht korrekt, da ich im Java das gesamte Layout erstelle, anstatt das obige Layout zu verwenden. Bin mir nicht sicher, ob ich die beiden überbrücken kann.

%Vor%     
bluej 29.07.2012, 14:56
quelle

5 Antworten

15

Versuchen Sie Folgendes:

%Vor%     
Tanuj Wadhwa 29.07.2012 15:03
quelle
6

Probieren Sie diesen Code:

%Vor%

das ist eine Möglichkeit, Button dynamisch zu erstellen und in Layout hinzuzufügen.

Denken Sie daran, dass Sie beim Erstellen einer programmgesteuerten Schaltfläche nur dies nicht Klassenname.dies

verwenden     
Mr.Sandy 15.05.2013 11:50
quelle
3

Ich würde eine ID zu Ihrem LinearLayout in xml hinzufügen:

%Vor%

Und dann ändern Sie Ihren onClick zu diesem:

%Vor%     
devmiles.com 29.07.2012 16:31
quelle
1

Jede Schaltfläche muss über einen Onclick-Listener verfügen, um zu bestimmen, was zu tun ist. Dies kann zu Ihrem Java-Code hinzugefügt werden, unter dem Sie Ihre Schaltfläche angeben.

%Vor%     
dwadeuk3 31.07.2012 14:47
quelle
1
%Vor%     
Durul Dalkanat 17.05.2015 06:48
quelle

Tags und Links