2012-02-21 81 views
3

我有兩個相鄰的ListFragments。 左邊顯示的是要選擇的類別,右邊則顯示所選類別中的元素。當列表爲空時,將ListFragment中的「Loading ...」消息替換爲

現在在屏幕的最開始處,左邊的ListFragment顯示所有的類別,而右邊的是空的,並等待選擇一個類別。只有這樣它才能顯示所選類別的成員。

雖然它是空的,但「加載..」的消息得到顯示 - 我認爲這看起來相當不錯。

我現在喜歡做的就是用我自己的替換「加載...」文本。

這可能不需要實現完整的ListFragment類嗎?

非常感謝。

回答

7

ListFragment.setEmptyText(..)應該這樣做!

+0

我把行放在ListFragment的onActivityCreated中,但它不會改變任何東西。即使它在文檔中另有說明! (謝謝你的好主意!) – user387184 2012-02-21 20:51:20

+0

這很奇怪。我應該注意到,我的ListFragments中沒有「Loading ...」文本,沒有數據,只是一個旋轉的加載動畫。這是一個標準的ListView嗎?什麼是您的佈局的xml代碼? – 2012-02-25 12:54:31

+0

它只是一個普通的ListFragment,而不是一個Acticvity中的ListView – user387184 2012-02-25 13:45:41

1

當列表爲空時,方法setEmptyText顯示爲TextView,因此「Loading ...」將不會顯示。 From Documentation

ListFragment的默認內容具有TextView,當列表爲空時,該TextView可以是 。如果您想要顯示該文件,請撥打 此方法提供應該使用的文本。

紡絲加載動畫是一個靜不定進度指示器,並且通常表示爲每文檔

public void setListShown (boolean shown) 

自:API級別11控制是否正被顯示的列表中。如果您正在等待顯示其中的初始數據 ,您可以使其不顯示。在此期間,將顯示一個不確定進度指示器 。

應用程序通常不需要使用它自己。 ListFragment的默認 行爲開始時不顯示列表, 只有在給出適配器 setListAdapter(ListAdapter)時纔會顯示它。如果此時的列表不是 ,那麼顯示它時,將會顯示 看到隱藏狀態。

顯示的參數如果爲true,則顯示列表視圖;如果爲false,則表示進度指示器爲 。初始值是真的。