Как я могу разработать пользовательский контроль Android и использовать его в XML?

StackOverflow https://stackoverflow.com/questions/3437109

Вопрос

Я понимаю, как создать пользовательский контроль Android, и я считаю, что понимаю, как тянуть атрибуты для него из макета XML. Я не знаю, однако, как получить элементы детей от него.

Вот визуальный пример того, что я пытаюсь сделать:

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>

Когда мое меню создано, как я могу получить ссылки на два меню?

Это было полезно?

Решение

Вы должны использовать android:id сделать это. Если вы не будете знать, сколько у вас будет у детей:

LinearLayout расширяться ПросмотрГруппа, чтобы вы могли использовать getChildAt() а также getChildCount() чтобы получить эти взгляды.

Другие советы

Для приспособления любого контроля (обычай или система) идентификатор является обязательным. Указав идентификатор, вы даете ему уникальную идентичность. Используя этот идентификатор, вы можете получить ссылку на этот контроль.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top