2010-08-09 37 views
3

我明白如何创建一个自定义的Android控件,我相信我知道如何从Xml布局中为它提取属性。但是,我不知道如何从中获得任何儿童元素。如何设计自定义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> 

当创建我的菜单,我怎么给两个的MenuItems参考?

+0

“当我的菜单被创建时,我如何得到两个MenuItems的引用?”只是给他们一个'android:id'属性,我猜。我觉得我一定是在误解你的问题。 – MatrixFrog 2010-08-09 03:13:22

回答

1

您应该使用android:id来做到这一点。如果你不知道你有多少孩子的有:

LinearLayout延伸ViewGroup,所以你可以使用getChildAt()getChildCount()得到这些观点。

+0

我现在要在菜单中有多少个孩子,因为我会将它们添加到Xml中,但我希望它足够动态,我不需要知道。我会给getChildCount()一个尝试。谢谢! – Quentamia 2010-08-09 15:21:06

0

访问任何控件(自定义或系统)的ID是必须的。通过指定一个id,你可以给它一个唯一的身份。使用这个ID你可以获得对该控件的引用。

相关问题