从自定义ExpandableListView OnChildClick中的组布局获取值

时间:2012-06-27 19:54:27

标签: android xamarin.android

所以,如果在

void ChildClick(object o, ExpandableListView.ChildClickEventArgs e)

o是单击的ExpandableListView e.Parent也是被点击的ExpandableListView 尝试通过执行

在Group中创建一个LinearLayout实例
ExpandableListView view = o;
LinearLayout group = (LinearLayout) view.GetChildAt(e.GroupPosition);

返回第n个位置的LinearLayout而不是第n个位置的GROUP布局,如何在组中点击该子项的LinearLayout实例?

2 个答案:

答案 0 :(得分:0)

我不确定你想要在View树中找到哪个地方。 但是一旦你有一个汉德尔进入那棵树,你总是可以打电话

view.getParent();

升级。和

view.findViewById(R.id.yourlayoutname);

去做几个层次

答案 1 :(得分:0)

所以这似乎绕着我的肘部去找我的屁股,而不是让孩子组的父母实际上是父组而不是列表视图本身,但我已经能够得到我所需要的东西:

ExpandableListView view = (ExpandableListView) o;
IExpandableListAdapter mAdapter = view.ExpandableListAdapter;
string s = mAdapter.GetGroup(e.GroupPosition).ToString(); //returns comma separated string with all my values from the group layout in the clicked item group position.
string[] items = s.Split(new [] {","}, StringSplitOptions.None);

如果有办法获取实际组布局的实例而不是仅仅希望mAdapter中的字符串总是具有相同数量的逗号分隔字符串而我所追求的字符串始终位于同一位置。我想在组位置n中获取实际的LinearLayout,以便我可以在其中找到TextView的ID。