如何确定哈希映射中键的第一个和最后一个child?
How to Determine the first and last child for a key in Hash Map?
我有一个可扩展列表视图。它的 child 是从哈希映射中填充的。我想做的是我想显示哈希映射中键的第一个和最后一个 child 的视图,然后为其他键隐藏。目前我正在尝试通过以下方式实现这一目标并且它不起作用。下面提到的是我的 EpandableListAdapter class.
的 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;
}
您正在检查 if (convertView == null)
,但没有其他部分,即当 covertView 不等于 null 时。试试看,它会起作用的。
我有一个可扩展列表视图。它的 child 是从哈希映射中填充的。我想做的是我想显示哈希映射中键的第一个和最后一个 child 的视图,然后为其他键隐藏。目前我正在尝试通过以下方式实现这一目标并且它不起作用。下面提到的是我的 EpandableListAdapter class.
的 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;
}
您正在检查 if (convertView == null)
,但没有其他部分,即当 covertView 不等于 null 时。试试看,它会起作用的。