2011-11-02 60 views
2

我想知道我的列表視圖何時沒有設置適配器。我的意思是,有沒有辦法知道我何時調用了setListAdapter(mAdapter);沒有我的代碼條件?如何檢測列表視圖是否有適配器設置

我想將頭添加到我的列表視圖,只是在第一時間爲:

if(getListView().getAdapter() != null){ 
    WWDisplayUtils.addHeaderButton(mTaxis, mAirport, AirportDetailsTaxi.this); 
    setListAdapter(mTaxiA); 
} 
else  
    mTaxiA.notifyDataSetChanged(); 

但沒有做我想要的。

+0

你是什麼意思,「無條件」?通過這個問題的性質,你的問題似乎意味着你可能會有一些不同的情況,你需要對這些不同的情況作出不同的迴應。 –

回答

7

不應該

if(getListView().getAdapter() != null) 

if(getListView().getAdapter() == null) 

如果您已經設置頁眉或頁腳視圖,getAdapter()將返回一個WrapperListAdapter,而不是你setListAdapter設置的一個( )

0

難道你不能只是打電話getAdapter(),看看它是否爲null或至少看看它是不是你認爲應該是什麼?所以像這樣:

if(mListView.getAdapter() != mAdapter){ 
    //do one thing 
} 
else{ 
    //do another thing 
} 
+0

他確實提到「沒有我的代碼條件」,無論這意味着什麼! – Ricky

+0

@Ricky這就是爲什麼我要求他在對他的問題發表評論時作出澄清。它的「沒有我的代碼條件」這個短語沒有任何意義。 –

+0

你好傢伙,我的意思是沒有布爾成員變量,檢查它。我編輯了我的問題。 – Dayerman

0

致電getListAdapter()

+0

他說他正在調用'setListAdapter()'這意味着'ListActivity'。 –