[英]How to hide child items for a particular group in ExpandableListView?
我的ExpandableListView
始終具有特定組的單個子級。 對於某些組,我想隱藏子項,但是我希望該組仍然可單擊(單擊后的每個組項都會更改其布局)。 那么,應該從getChildView
為這些組返回什么?
覆蓋getChildrenCount
,對於想要的組,返回0,就好像它們沒有孩子一樣。 他們仍然將是可點擊的。
@Override
public int getChildrenCount(int groupPosition) {
if (groupPosition == 1) {
return 0;
} else {
return super.getChildrenCount(groupPosition);
}
}
這是我的想法,代碼未經過測試
public view getChildView(int groupPosition, int ChildPosition, boolean b, View view, ViewGroup viewGroup){
if(!groupPostion)//for the group you dont want the layout to be displayed
v=your custom view for the child items.//or if you know the exact position define it like
//if or use switch (groupPosition==something){v.setVisibility(View.GONE)}
return v;
}
您需要調用crashGroup() 。 同樣在您的構造函數中,您需要您的ExpandableListView
public class YourExapandableAdapter extends BaseExpandableListAdapter {
private Context mContext;
ExpandableListView mExpandableListView;
int mLastExpandedGroupPosition = -1;
public YourExapandableAdapter(Context context, ExpandableListView expandableListView) {
mContext = context;
mExpandableListView = expandableListView;
}
@Override
public void onGroupExpanded(int groupPosition) {
super.onGroupExpanded(groupPosition);
if(groupPosition != mLastExpandedGroupPosition){
mExpandableListView.collapseGroup(mLastExpandedGroupPosition);
}
mLastExpandedGroupPosition = groupPosition;
}
在這種情況下,我隱藏了最后一個組,但是您可以當前組或任何您想要的組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.