0

所以如果在

void ChildClick(object o, ExpandableListView.ChildClickEventArgs e)

o 是被点击的 ExpandableListView 并且 e.Parent 也是被点击的 ExpandableListView 并试图在发生 ChildClick 的 Group 中创建 LinearLayout 的实例

ExpandableListView view = o;
LinearLayout group = (LinearLayout) view.GetChildAt(e.GroupPosition);

返回第 n 个位置的 LinearLayout 而不是第 n 个位置的 GROUP 布局,如何在单击子项的 Group 中获取 LinearLayout 的实例?

4

2 回答 2

0

我也不确定您要在视图树中的哪个位置。但是一旦你有一个handel进入那棵树,你总是可以打电话

view.getParent();

上一个层次。和

view.findViewById(R.id.yourlayoutname);

去做几层

于 2012-06-27T19:57:48.537 回答
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,这样我就可以在其中通过 ID 找到 TextView。

于 2012-06-27T20:42:31.487 回答