2011-11-02 79 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'。 –

相关问题