ExpandableListView를 활용해서 데이터를 보여주려고 하는데요.
groupView는 같은 형식이나, childView는 group마다 다른 형식으로 보여주려고 합니다.
private LayoutInflater inflater = null;
private ViewHolder viewHolder = null;
...
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
View v = convertView;
if(v == null){
viewHolder = new ViewHolder();
v = inflater.inflate(레이아웃1, null);
v.setTag(viewHolder);
}else{
viewHolder = (ViewHolder)v.getTag();
}
return v;
}
이게 기존 방식(childview가 한 가지 형식인 경우)이라고 한다면..
private LayoutInflater inflater = null;
private ViewHolder viewHolder = null;
...
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
View v = convertView;
if(groupPosition == 0) {
if(v == null){
viewHolder = new ViewHolder();
v = inflater.inflate(레이아웃1, null);
v.setTag(viewHolder);
}else{
viewHolder = (ViewHolder)v.getTag();
}
} else if(groupPosition == 1) {
if(v == null){
viewHolder = new ViewHolder();
v = inflater.inflate(레이아웃2, null);
v.setTag(viewHolder);
}else{
viewHolder = (ViewHolder)v.getTag();
}
} else if(groupPosition == 2) {
if(v == null){
viewHolder = new ViewHolder();
v = inflater.inflate(레이아웃3, null);
v.setTag(viewHolder);
}else{
viewHolder = (ViewHolder)v.getTag();
}
}
return v;
}
물론 이건 그냥 예시라.. 저렇게 돌리면 처음 연 형식대로 다 통일이 됩니다.
좋은 방법이 있을까요..?
조언 부탁 드려요.. 감사합니다!