안녕하세요, 모두들 좋은 하루 되세요 ^^

 

public class IconTextListAdapter extends BaseAdapter {
 
 private Context mContext;

 private List<IconTextItem> mItems = new ArrayList<IconTextItem>();

 public IconTextListAdapter(Context context) {
  mContext = context;
 }

 

위 소스는 BaseAdapter를 상속받아 재정의한 소스 일부분이구요..

아래 소스는 ListView를 상속받아 재정의한 소스일부분입니다.

문제는 밑에 public void setAdapter(BaseAdapter adapter) 이부분인데요..

메인클래스에서 위의 IconTextListAdapter 아답터 객체를 생성해서  아래의 setAdapter를 수행하는데

여기까지는 정상적으로 동작이 됩니다. 그런데..

아래 리스트뷰에서 addHeaderView 를 수행하여 헤더를 붙이면 setAdapter에서 문제가 발생하는거 같습니다.

즉 BaseAdapter이 HeaderViewListAdapter로 변경이 되어 cast 에러가 납니다.. 이렇게 질문을 하면서도 헷갈리네요..

도움 부탁드려보아요.. >.<

 

 

public class DataListView extends ListView {


 private IconTextListAdapter adapter;
 
 public DataListView(Context context) {
  super(context);

  init();
 }

 public DataListView(Context context, AttributeSet attrs) {
  super(context, attrs);

  init();
 }


 public void setAdapter(BaseAdapter adapter) {
  super.setAdapter(adapter);

 }

 

public void addHeaderView (View v) {
  super.addHeaderView(v);
 }