0

我正在使用ListFragment來顯示ListView。問題是TextView應該顯示列表爲空時不會立即顯示。它以黑屏開始,然後最終將加載填充列表或空的TextView(以先到者爲準)。ListFragment - 空列表TextView加載。 。 。最終

我明白ListFragment不設置空TextView程序自動像ListActivity,所以我已空TextView手動添加用下面的代碼:

ListView list = (ListView) getActivity().findViewById(android.R.id.list); 
TextView emptyText = (TextView) getActivity().findViewById(android.R.id.empty); 
list.setEmptyView(emptyText); 

我想空視圖立即,然後顯示如果和當它被填充時,替換爲ListView

+3

列表片段自動設置空視圖...您只需調用setEmptyText(「it's empty!」);指定文本 – dymmeh 2013-03-06 20:41:01

+2

您應該使用'ListFragment#setEmptyText()' – 2013-03-06 20:41:08

+0

這不起作用 - 使用setEmptyText()給我IllegalStateException:不能與自定義內容視圖一起使用。即使我從XML中刪除空的txt視圖並刪除上面的代碼,也會發生這種情況。 – Rarw 2013-03-06 20:52:03

回答

0

原來,問題與我在ViewPager中使用SupportMapFragment這一事實有關。在非常緩慢地來回滑動視圖後,我能夠看到列表顯示在黑色屏幕下。在上面的評論沒有解決問題時,我發現了this post,在StackOverflow上進行了一些挖掘之後。顯然,在查看尋呼機中使用MapFragment會在ViewPager的另一個Fragment上出現黑框。

我不能說出爲什麼,經過一段時間後,黑色神器會消失,並被空列表或填充ListView取代。但是,我可以通過在上面的帖子建議的透明背景上放置視圖來解決問題。一旦黑色神器被刪除,我可以立即看到空的列表視圖。