2012-09-27 102 views
4

我有一個ListView,我已經添加了一個頁腳。我可以在列表視圖上做什麼調用來確定給定的頁腳是否被添加到列表視圖中?如何檢查頁腳是否已添加到列表視圖?

listView.findViewById(errorFooterid) ? 

似乎有不是一個方法

view.containsView(viewReference) 

如果現有的觀點得到了另一個包含似乎是一個基本操作檢查,但我不知道是否有一個可靠的方法在android中檢查這個。

爲什麼SDK不支持清晰簡單的方法來檢查此問題?即使findByView(R.id.viewId)和null檢查也不是非常優雅的方式來執行布爾檢查。

回答

0

如果這是一個活動類,那麼只需使用findViewById(int id)。如果該方法返回null,那麼你可以假設頁腳沒有被添加。

如果這是一個片段類,那麼您可以將您在onCreateView()方法中返回的視圖存儲爲片段類的數據成員。然後它以同樣的方式工作,除了您將在保存的視圖上調用findViewById()。

LinearLayout footer = (LinearLayout) findViewById(footerId); 
if (footer == null) 
{ 
    //add the footer 
} 
else 
{ 
    //Update the footer 
} 
+0

嗯,我不知道。如果活動中有兩個ListView,該怎麼辦?有時在頁腳佈局中未提供id,但是在佈局中引用或id,但對於每個列表,佈局都是一次膨脹。 –

16

如果你只有一個腳註,想知道它的加入與否,你會嘗試使用

public int getFooterViewsCount() 
Since: API Level 1 

Returns the number of footer views in the list. Footer views are special views at the bottom of the list that should not be recycled during a layout. 
Returns 

    The number of footer views, 0 in the default implementation. 

所以,如果它返回0,你listview沒有頁腳

yourListView.getFooterViewsCount(); 
7

您可以使用以下代碼找出頁腳視圖的數量

listView.getFooterViewsCount(); 

如果它返回0,則不存在頁腳視圖。

相關問題