我正在使用pulltorefresh和scrollListener的概念。当我调用它时,我的AsyncTask类正在向listview添加一个空项。下面的代码显示了这个
listView.setOnRefreshListener(new OnRefreshListener() {
// @Override
public void onRefresh() {
// Your code to refresh the list contents goes here
// listView.setAdapter(null);
scroll=true;
pic.clear();
id.clear();
name.clear();
msg.clear();
img.clear();
profimg.clear();
objid.clear();
comment.clear();
weburl.clear();
adapter.clear();
likes.clear();
like_or_unlike.clear();
previousTotal = 0;
pulltorefresh=true;
// listView.setAdapter(null);
// scroll=true;
// notifyDataSetChanged();
// urlval=0;
j=0;
loading = true;
boolAsync=false;
webserv="https://graph.facebook.com/me/home?access_token="+accesstoken;
// listView.removeFooterView(footerView);
doInBack dob=new doInBack();
dob.execute();
// listView.setAdapter(null);
// doback(webserv);
Log.e("hi","doback called");
listView.setAdapter(null);
}
});
当我调用这个pulltorefresh时,我希望所有listview项都被删除,但它创建了一些空项,因为这样我的scrollListener被激活并且条件得到满足,尽管listview中没有可见项。
我的scrollListener类是
public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount)
{
//
// TODO Auto-generated method stub
if (loading) {
if (totalItemCount > previousTotal) {
Log.e("in loading","in load");
loading = false;
previousTotal = totalItemCount;
}
}
// int lastInScreen = firstVisibleItem + visibleItemCount;
// if(boolAsync){
// if (!loading && (totalItemCount - visibleItemCount) ==(firstVisibleItem + threshold)){
if (!loading && (firstVisibleItem + visibleItemCount) >= totalItemCount){
// if(((firstVisibleItem + visibleItemCount) == totalItemCount)){
// if (!(loading) &&(totalItemCount - visibleItemCount) ==(firstVisibleItem + threshold)) {
// clearAllResources();
System.out.println(firstVisibleItem );
System.out.println(visibleItemCount );
System.out.println(totalItemCount);
scroll=false;
// if (!(loading) &&(totalItemCount - visibleItemCount) == (firstVisibleItem + threshold)) {
Log.v("in gridview loading more","grid load");
//
doInBack dob=new doInBack();
dob.execute();
// doback(webserv);
loading = true;
}
}
// }
});
我也删除了我的页脚并尝试了,但我得到了(TotalItemcount为1,可见itemcount为1)。当我没有删除我的footerview时,我得到的totalItemcount为2.so.I刚刚删除了我的footerview但是我我仍然得到1作为TotalItemcount。
我认为这个AsyncTask只是将listview计数为1,当我在pulltorefresh中调用它时。
将非常感谢帮助。 提前致谢