我已成功掌握Child和innerChild行中的自定義佈局的兩個級別ExpandableListView。問題是第一層的組頭顯示很好。由於第一級ExpandableListView的高度,第二級的行部分顯示。 第一級ExpandableListView託管一個佈局,並且此佈局託管另一個ExpandableListView,後者又託管一個自定義佈局,該佈局具有應從中動態填充數據的tableRow。2級自定義ExpandableListView ClassCastException
我修復了位於http://harrane.blogspot.com/2013/04/three-level-expandablelistview.html的教程,建議使用將在第一級ExpandableListView的Adapter中使用的自定義ExpandableListView。
class CustomExpandableListView extends ExpandableListView {
public CustomExpandableListView(Context context) {
super(context);
}
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
/*
* Adjust height
*/
heightMeasureSpec = MeasureSpec.makeMeasureSpec(500, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
}
但是當我更換第一級ExpandableListView我試圖擴大第一級ExpandableListView當得到一個ClassCastException線。
這裏是代碼的第一級Epandable列表視圖不使用CustomExpandableListview類時:
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
ExpandableListView elv = (ExpandableListView)
v.findViewById(R.id.eLV_bols_details_goods_list_item);
ExpandableListAdapterGoodsSub eLVGoodsSub = new ExpandableListAdapterGoodsSub(context, gs.getGoodsDetailSegment());
elv.setAdapter(eLVGoodsSub);
.
.
.
現在這裏是我嘩嘩使用,使第一級ExpandabaleListView doen't隱藏部分的代碼內ExpandableListView
CustomExpandableListView elv = (CustomExpandableListView) v.findViewById(R.id.eLV_bols_details_goods_list_item);
ExpandableListAdapterGoodsSub eLVGoodsSub = new ExpandableListAdapterGoodsSub(context, gs.getGoodsDetailSegment());
elv.setAdapter(eLVGoodsSub);
與ClassCastException異常的probleme超過
CustomExpandableListView elv = (CustomExpandableListView) v.findViewById(R.id.eLV_bols_details_goods_list_item);
它不顯示內ExpandableListView。 innerExpandable listView使用TableRow中的自定義佈局。此方法用於顯示具有非自定義佈局的默認ExpandableListView –