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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top