gpt4 book ai didi

android - 如何在android中的expandablelistview中获取组 View ?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:00:25 25 4
gpt4 key购买 nike

我是 blazilian 所以,我的英语不是很好。

所以..我需要在 expandablelistview 中获取组 View ,以便通过 view.getTag() 方法获取对象标签。

在这个例子中跟我学:

 ExpandableListView

--> group (i need this view)
----> child
----> child
----> child

--> group (i need this view)
----> child
----> child

我的代码:

    @Override
public boolean onChildClick(final ExpandableListView parent, final View v,
final int groupPosition, final int childPosition, final long id) {

/* I NEED GET VIEW OF GROUP FOR GET YOUR TAG*/

View vParent = parent.getChildAt(groupPosition); // dont work after first group
Programa v2 = (Programa) parent.getTag(); // return null

// v parameter is a child of group

return true;
}

在我的适配器中:

    @Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {

TwoLineListItem view = (TwoLineListItem) LayoutInflater.from(contexto)
.inflate(android.R.layout.simple_expandable_list_item_2,
parent, false);

String programa = map.keySet().toArray(new String[map.keySet().size()])[groupPosition];

view.getText1().setText(programa);
view.getText2().setText("PROGRAMA LOCAL");

view.setTag(programas.get(groupPosition)); // i need get this in child click listener

return convertView = view;
}

有什么想法吗?谢谢

最佳答案

要从 ExpandableListView 获取组 View ,您可以执行以下操作:

public View getGroupView(ExpandableListView listView, int groupPosition) {
long packedPosition = ExpandableListView.getPackedPositionForGroup(groupPosition);
int flatPosition = listView.getFlatListPosition(packedPosition);
int first = listView.getFirstVisiblePosition();
return listView.getChildAt(flatPosition - first);
}

关于android - 如何在android中的expandablelistview中获取组 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19124180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com