我得到了和ExpandableList
,我將其分配給擴展的BaseExpandableListAdapter
。在這裏,我實現getChildView
方法來設置並返回給每個孩子一個觀點:ExpandableList getChildView每個子女運行兩次
public View getChildView(int groupIndex, int childIndex, boolean isLastChild, View convertView, ViewGroup parent) {
LinearLayout layout;
if (convertView == null) {
layout = (LinearLayout) LayoutInflater.from(MyApp.getContext()).inflate(R.layout.rooms_room_list_row, parent, false);
} else {
layout = (LinearLayout) convertView;
}
// Do some custom stuff with views on the layout
...
return layout;
}
調試時,我注意到,getChildView
每名兒童執行兩次。在(即對groupIndex,childIndex,isLastChild)通過了所有的值都是一樣的...所以在第3組,如果我有兩個孩子,我會看到:
groupIndex = 3
,childIndex = 0
然後
groupIndex = 3
,childIndex = 1
然後它重複:
groupIndex = 3
,childIndex = 0
最後:
groupIndex = 3
,childIndex = 1
出現我的看法罰款,即,只有兩種爲集團上市的孩子,但爲什麼它做所有的額外的工作?
UPDATE & ANSWER
看來,如果該列表視圖設置爲wrap_content
的高度,則getChildView
將每名兒童兩次打電話。將高度更改爲fill_parent
似乎可以解決此問題。
你能告訴我你的完整適配器嗎?使用自定義適配器進行expandablelistview時遇到問題,getChild從未被調用。 –