2012-02-01 3 views
1

FragmentListView이 있습니다. ListView의 emptyView를 설정 한 후 모든 것이 정상적으로 작동하지만 내 어댑터 (확장되는 BaseAdapter)가 일부 데이터를 가져 오는 즉시 emptyView가 아니라 전체 Fragment에 내 ListView 및 몇 개의 다른보기가 포함되어 사라집니다. 빈보기를 사용하지 않으면 모든 것이 제대로 작동합니다.데이터 받기 후 ListView가 사라짐

내 어댑터가 빈보기를 사용하기 위해 특별한 것을 구현해야합니까? 아니면 빈 뷰를 설정하는 방법입니까?

LayoutInflater inflater = getActivity().getLayoutInflater(); 

View emptyView = inflater.inflate(R.layout.empty_list_view, 
(ViewGroup) mListView.getParent()); 

mListView.setEmptyView(emptyView); 

마르신을 주셔서 감사합니다.

답변

3

그래서 알아 냈습니다.

이제 빈보기를 XML에 있어야하고 Java의 ListViewsetEmptyView의 바로 위의 빈보기를 추가하면 제대로 작동하는 것처럼 작동합니다.

XML :

<ListView 
    android:id="@+id/list_view" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" />  
<TextView 
    android:id="@+id/empty_view"   
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center" 
    android:text="@string/empty_list_view" /> 

자바 부분 설정 emptyView : 나는 미래에 누군가가 도움이되기를 바랍니다

@Override 
public boolean isEmpty() 
{ 
    return listItems.size() == 0; 
} 

:

View emptyView = getActivity().findViewById(R.id.empty_view); 
mListView.setEmptyView(emptyView); 

Adapter

는 IsEmpty 함수()를 구현해야합니다 . ;)

관련 문제