2 baby bonnie Baby_Bonnie 于 2012.11.22 13:08 提问

Android中有什么方法等同于getChildViewByID

我想在ViewGroup中获取一个名称是name的childView视图。nameView是GroupView中的第二个项目。我使用了以下的代码:

TextView nameView =  (TextView)((ViewGroup)view).getChildAt(2); 

然而,我想以后在nameView前再添加一些其它的View。那么上面的代码就无效了。因此我在想如何通过名称获得 ChildView,例如:

TextView nameView =  (TextView)((ViewGroup)view).getChildByID(R.id.name); 

我发现getChildByName("name") 不管用,我是否要查找一些像getChildByID等同的方法。

2个回答

hxn_217
hxn_217   2012.11.22 15:51
已采纳

你要找的方法是View.findViewById(id)。不需要添加到ViewGroup中。

TextView nameView =  (TextView) view.findViewByID(R.id.name);
yongyong_21
yongyong_21   2012.12.06 11:15

虽然你采纳答案了,但是我搜到这个问题,希望能再给你个参考:

如果你只是想通过他的ID找到 ViewGroup 的一个特殊的子类,那首先从ViewGroup得到一个引用:

ViewGroup vg = (ViewGroup)findViewById(R.id.myGroupLayout);

然后在现在的 ViewGroup 上调用findViewById()

View v = (TextView)vg.findViewById(R.id.name);
Csdn user default icon
上传中...
上传图片
插入图片