我用的PullToRefreshListView设置setOnRefreshListener问题

当item条数超过屏幕滑动会报错,报空
图片说明
图片说明
图片说明

我还是吧代码贴出来吧:
public class FragmentMyList extends Fragment{

private PullToRefreshListView refreshListView;
private RadioGroup group1,group2;
private RadioButton button1,button2,button3,button4;
private MyListDataAdapter adapter;
private HttpUtilModel httpUtilModel;
private int page;
private String r,k;
private List<MyListdata>listdatas;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view=getLayoutInflater(savedInstanceState).inflate(R.layout.mylist_layout, null);
    r="";
    k="";
    refreshListView=(PullToRefreshListView) view.findViewById(R.id.mylist_ListView);
    group1=(RadioGroup) view.findViewById(R.id.myList_Group1);
    group2=(RadioGroup) view.findViewById(R.id.myList_Group2);
    button1=(RadioButton) view.findViewById(R.id.mytitle_Btn1);
    button2=(RadioButton) view.findViewById(R.id.mytitle_Btn2);
    button3=(RadioButton) view.findViewById(R.id.mytitle_Btn3);
    button4=(RadioButton) view.findViewById(R.id.mytitle_Btn4);

// adapter=new MyListDataAdapter(getActivity(), listdatas);
initData();
setViews();
return view;
}
private void initData() {
page=1;
httpUtilModel=new HttpUtilModel();
httpUtilModel.getMyListData(page+"", "0", "A",new AsyncCallback() {
@Override
public void onSuccess(Object success) {
listdatas=new ArrayList();
listdatas=(List) success;
setAdapter();
}
@Override
public void onFalied(Object falied) {}} );
}
private void setAdapter() {
if(listdatas!=null){
adapter=new MyListDataAdapter(getActivity(), listdatas);
refreshListView.setAdapter(adapter);
}
}
private void setViews() {

    //下拉刷新
    refreshListView.setOnRefreshListener(new OnRefreshListener<ListView>() {

        @Override
        public void onRefresh(PullToRefreshBase<ListView> refreshView) {
            httpUtilModel=new HttpUtilModel();
            httpUtilModel.getMyListData("1", r, k, new AsyncCallback() {
                @Override
                public void onSuccess(Object success) {
                    List<MyListdata>datas=new ArrayList<MyListdata>();
                    datas=(List<MyListdata>) success;
                    listdatas.clear();
                    listdatas.addAll(datas);
                    if(listdatas!=null){
                        page=1;
                    setAdapter();
                    refreshListView.onRefreshComplete();
                    }
                }
                @Override
                public void onFalied(Object falied) {}});
        }
    });
    refreshListView.setOnScrollListener(new OnScrollListener() {
        private boolean isBottom;
        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            switch(scrollState){
            case SCROLL_STATE_FLING:
                break;
            case SCROLL_STATE_IDLE:
                if(isBottom){//到底了
                    Log.i("TAG", "有没有执行这个方法");
                    ++page;
                    httpUtilModel=new HttpUtilModel();
                    httpUtilModel.getMyListData(page+"", r, k, new AsyncCallback() {
                        @Override
                        public void onSuccess(Object success) {
                            List<MyListdata>ml=new ArrayList<MyListdata>();
                            ml=(List<MyListdata>) success;
                            Log.i("TAG", "下拉加载有没有数据"+ml);
                            if(ml.isEmpty()){
                                Toast.makeText(getActivity(), "已经到头了", Toast.LENGTH_SHORT).show();
                                return;
                            }else if(ml!=null){
                            listdatas.addAll(ml);
                            setAdapter();
                            }
                        }
                        @Override
                        public void onFalied(Object falied) {}});
                }
                break;
            case SCROLL_STATE_TOUCH_SCROLL:
                break;
            }
        }
        //当滚动时执行该方法
        @Override
        public void onScroll(AbsListView view, int firstVisibleItem,
                int visibleItemCount, int totalItemCount) {
            if(visibleItemCount==totalItemCount){
                isBottom=true;
            }else{
                isBottom=false;
            }
        }
    });
}   

}

log日志一部分:
图片说明
图片说明

费解,只要一个屏幕不能显示全部item的话,滑到下边就会报错,都不执行获取数据的方法

忘了说之前下边的bottom设置中是firstVisibleItem+visibleItemCount==totalItemCount也是不行的

你的adapter的getView方法报空指针了,应该是加载更多是adapter更新调用getView是报的错,自己打印看看吧