Wie gestalte ich eine benutzerdefinierte Android Kontrolle und verwenden Sie es in XML?
-
26-09-2019 - |
Frage
Ich verstehe, wie ein benutzerdefiniertes Android-Steuerelement erstellen, und ich glaube, ich verstehe, wie Attribute für sie aus dem XML-Layout zu ziehen. Ich weiß aber nicht, wie Kinder bekommen Elemente davon.
Hier ist ein visuelles Beispiel dafür, was ich versuche zu erreichen:
public class Menu extends LinearLayout
{
// Custom Code
}
public class MenuItem extends Button
{
// Custom Code
}
<!-- Layout -->
<?xml version="1.0" encoding="utf-8"?>
<Menu>
<MenuItem/>
<MenuItem/>
</Menu>
Wenn mein Menü erstellt wird, wie kann ich Verweise auf die beiden MenuItems bekommen?
Lösung
Sie sollten eine android:id
verwenden, das zu tun. Wenn Sie nicht wie viele Childs wissen müssen Sie:
LinearLayout
erstreckt Viewgroup , so Sie können getChildAt()
verwenden und getChildCount()
diese Ansichten zu erhalten.
Andere Tipps
für den Zugriff auf eine beliebige Steuerung (custom oder System) eine id ist ein Muss. durch eine ID-Angabe Sie geben eine eindeutige Identität. Diese ID verwenden, können Sie eine Referenz auf diese Kontrolle bekommen.