我有一个expandableList视图。它的子元素是从哈希映射填充的。我想要做的是我想从Hash地图中显示一个键的第一个和最后一个孩子的视图,然后为其他人隐藏。目前我试图通过以下方式实现这一目标,但它无法正常工作。下面提到的是我的EpandableListAdapter类的getChildView方法。
@Override
public View getChildView(int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
final String childText = (String) getChild(groupPosition, childPosition);
LinearLayout titleLayout = null;
LinearLayout sumTotalLayout = null;
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this._context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.order_form_history_viewable, null);
titleLayout = (LinearLayout) convertView.findViewById(R.id.llOrderHistroryTitles);
sumTotalLayout = (LinearLayout) convertView.findViewById(R.id.llOrderHistroryTotals);
}
if (childPosition==0 && titleLayout != null) {
titleLayout.setVisibility(View.VISIBLE);
} else if (titleLayout != null) {
titleLayout.setVisibility(View.GONE);
}
// int childSize = this._listDataChild.get(this._listDataHeader.get(groupPosition))
.size();
if (isLastChild && sumTotalLayout != null) {
sumTotalLayout.setVisibility(View.VISIBLE);
} else if (sumTotalLayout != null) {
sumTotalLayout.setVisibility(View.GONE);
}
// if (childPosition == childSize-1 && sumTotalLayout!=null){
// sumTotalLayout.setVisibility(View.VISIBLE);
// }else if (sumTotalLayout!=null){
// sumTotalLayout.setVisibility(View.GONE);
// }
TextView txtListChild = (TextView) convertView
.findViewById(R.id.tvOrderlistBrand);
txtListChild.setText(childText);
return convertView;
}
答案 0 :(得分:0)
您正在检查if (convertView == null)
,但没有其他部分,即 covertView 不等于null。试着说,它会起作用。