Android TabPageIndicator:从AsyncTask获得响应后,无法刷新具有ListView的片段的视图

Android TabPageIndicator:从AsyncTask获得响应后,无法刷新具有ListView的片段的视图,android,android-listview,android-fragments,android-fragmentactivity,viewpagerindicator,Android,Android Listview,Android Fragments,Android Fragmentactivity,Viewpagerindicator,我正在使用TabPageIndicator(库)。我有两个标签。两者都在展示 相同的实验结果不同。一个选项卡按日期将结果分组,其他选项卡按测试名称分组 我的目标是只进行一次服务器调用&在ViewPager的两个片段中使用生成的POJO。 我已经创建了自定义的FragmentPagerAdapter,我在其中初始化getItem()中的片段,如下所示: @Override public Fragment getItem(int position) { Fragment fr

我正在使用
TabPageIndicator
(库)。我有两个标签。两者都在展示 相同的实验结果不同。一个选项卡按日期将结果分组,其他选项卡按测试名称分组

我的目标是只进行一次服务器调用&在ViewPager的两个片段中使用生成的POJO。 我已经创建了自定义的
FragmentPagerAdapter
,我在其中初始化
getItem()
中的片段,如下所示:

@Override
    public Fragment getItem(int position) {
        Fragment fragment = null;
        switch(position){
            case 0:
                if(labsByDateFragment == null){                     
                    labsByDateFragment = new LabsByDateFragment();
                    fragment = labsByDateFragment;
                }
                break;
            case 1: 
                if(labsByTestFragment == null){                 
                    labsByTestFragment = new LabsByTestFragment();
                    fragment = labsByTestFragment; 
                }
                break;
        }

        return fragment;
    }
 private OnCompleteListner onCompleteListner = new OnCompleteListner() {

            @Override
            public void onSuccess(Object obj) {

                LabsResponse labResponse = (LabsResponse) obj;
                adapter.notifyDataSetChanged(labResponse);          

            }

            @Override
            public void onFailure(String message) {
                AlertDialog dialog = (AlertDialog) DialogFactory
                        .getDialogWithOkButton(
                                "Oops..Failed to get your Results...Sorry..",
                                ResultsLauncher.this);
                dialog.setOwnerActivity(ResultsLauncher.this);
                dialog.show();
            }
        };



    public void notifyDataSetChanged(LabsResponse labsResponse){

            labsByDateFragment.setLabsResponse(labsResponse);            
            labsByTestFragment.setLabsResponse(labsResponse);            

    }
LabsByDateFragment
LabsByTestFragment
都扩展了
Fragment
,并具有
ListView
。现在,当my
FragmentActivity
启动时,它将显示FragmentBlank和调用
AsyncTask
以进行数据的web服务调用

从AsyncTask接收到数据后,我将在
OnCompleteListner
中调用
notifyDataSetChanged(labResponse)
,如下所示:

@Override
    public Fragment getItem(int position) {
        Fragment fragment = null;
        switch(position){
            case 0:
                if(labsByDateFragment == null){                     
                    labsByDateFragment = new LabsByDateFragment();
                    fragment = labsByDateFragment;
                }
                break;
            case 1: 
                if(labsByTestFragment == null){                 
                    labsByTestFragment = new LabsByTestFragment();
                    fragment = labsByTestFragment; 
                }
                break;
        }

        return fragment;
    }
 private OnCompleteListner onCompleteListner = new OnCompleteListner() {

            @Override
            public void onSuccess(Object obj) {

                LabsResponse labResponse = (LabsResponse) obj;
                adapter.notifyDataSetChanged(labResponse);          

            }

            @Override
            public void onFailure(String message) {
                AlertDialog dialog = (AlertDialog) DialogFactory
                        .getDialogWithOkButton(
                                "Oops..Failed to get your Results...Sorry..",
                                ResultsLauncher.this);
                dialog.setOwnerActivity(ResultsLauncher.this);
                dialog.show();
            }
        };



    public void notifyDataSetChanged(LabsResponse labsResponse){

            labsByDateFragment.setLabsResponse(labsResponse);            
            labsByTestFragment.setLabsResponse(labsResponse);            

    }
setLabsResponse在这两个片段中只需获得相应分组的实验室列表(按日期或名称),并初始化我的自定义
ListView适配器
。并使用ListView绑定适配器

我的问题是,我只在第一个片段中显示ListView,但第二个片段仍然为空。此外,第一个Frgament的列表视图(带有is LabsByDateFragment)显示了按实验室测试名称分组的数据。但是,如果我在
notifyDataSetChanged
中更改调用
setLabsResponse
的顺序如下,它将显示按日期分组的结果:

public void notifyDataSetChanged(LabsResponse labsResponse){             

        labsByTestFragment.setLabsResponse(labsResponse);            
        labsByDateFragment.setLabsResponse(labsResponse);            

}
所以,它显示的是根据上一次分组的实验室响应得出的数据。
不知道我犯了什么错误。

任何人在
TabPageIndicator
上有类似问题吗????