Android Anfaengerproblem: Multiple Custom Views in Custom Views

Miguel Gonzalez

Neues Mitglied
Ich moechte fuer mein neues Projekt gerne CustomViews schreiben, die bestimmte Aufgaben uebernehmen. Habe jetzt schon wochenlang nach einer perfekten Loesung meines Problems gesucht, bisher aber immer nur kleine Teilloesungen bekommen. Zwar weiss ich bereits, wie man einen eigenen CustomView schreibt und wie man ihn implementiert - doch ist mir bisher raetselhaft, wie ich innerhalb dieses CustomViews weitere Views hinzufuegen kann. Ich moechte zb. einen View schreiben, der zudem 2 Buttons beherbergt. Innerhalb der Klasse hatte ich mir folgendes gedacht:

Java:
public class MyCustomView extends View {

    private Button btnLeft, btnRight;

    public MyCustomView(Context context) {
         // Initialisierung der Buttons
         btnLeft = new Button(context); 
         btnRight = new Button(context);
         // Ans Layout anpassen 
         // ...
    }
}
Das Problem ist, dass er mir die Buttons nicht anzeigt, wenn ich den Custom View in ein Layout per xml einbinde. Muss ich das mit der onDraw-Methode regeln oder erbe ich von der komplett falschen Klasse? Ueber jede produktive Kritik und Hilfe waere ich sehr erfreut!
 

mjdv

Bekanntes Mitglied
Wenn du nur Standardkomponenten verwenden möchtest in deiner View, dann brauchst du die onDraw Methode nicht. Die brauchst du nur wenn du selber etwas zeichen möchtest.

Am besten erbst du direkt von LinearLayout oder ähnlichem, du kannst dann hier einfach die Buttons hinzufügen. Das sollte deutlich einfacher sein, als von View zu erben. Dann kannst du sogar die Klasse in den xml layouts verwenden.

Du kannst auch deine View in xml schreiben, und dann einfach in deiner Klasse welche von LinearLayout erbt, "inflaten". Das wird wohl der beste Weg sein.
 

Neue Themen


Oben