안녕하세요, 고수님들?

 제가 앱을 하나 개발 중인데 Listview의 Header/Footer의 Visibility를 설정하는 부분이 제대로

되지 않아서 질문 좀 드리고자 합니다.


ListView에서


 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    android:visibility="gone"
>
    <TextView
        android:id="@+id/tv_watingtext"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
    />
    <ProgressBar
        android:layout_width="wrap_content"    android:layout_height="wrap_content"
    />
</LinearLayout>


다음과 같은 레이아웃을 가지는 view를 inflate시킨 다음 Visibility를 GONE으로 바꿔서

Header와 Footer에 각각 1개씩 추가 하였습니다.

this.header_waiting = (LinearLayout)View.inflate(this, R.layout.layout_waitingbar, null);
this.header_waiting.setVisibility(View.GONE);
this.footer_waiting = (LinearLayout)View.inflate(this, R.layout.layout_waitingbar, null);
this.footer_waiting.setVisibility(View.GONE);

this.mylistview = (ListView) View.inflate(this, R.layout.layout_listview, null);
this.mylistview.addHeaderView(this.header_waiting);
this.mylistview.addFooterView(this.footer_waiting);
this.mylistview.setAdapter(this.myadapter);


그런데 문제는,Listview의 header/footer 영역에

위에서 inflate시켜 추가한 view는 보이지 않는데 해당 view의 영역은 그대로 유지가 되는 문제가 있습니다.


이 문제를 해결 하려고 별짓 다해봤는데, header/footer로 더미 레이아웃을 하나 추가 해놓고 필요할 때마다 addView를

사용해서 필요한 view를 보여주라던가(이 방법은 addView를 해도 더미 레이아웃의 height가 재조정 되지 않아서 실패)

header/footer의 높이를 조정해서 visible/invisible상태를 조정하라던가(안 보여야 할 때는 height를 0으로)

몇 가지 해결책을 웹에서 찾아서 실행 해 보았습니다만, 하나같이 안되더군요(ㅠㅠ).


혹시 이에 대해서 조언좀 주실분 없으신가요?