首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FragmentPagerAdapter和notifyDataSetChanged

FragmentPagerAdapter和notifyDataSetChanged
EN

Stack Overflow用户
提问于 2013-04-24 15:43:32
回答 2查看 6.8K关注 0票数 0

如何在FragmentPagerAdapter中使用notifyDataSetChanged

onResume

我使用了mMyFragmentPagerAdapter.notifyDataSetChanged();,但它不起作用

mMyFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager());

是有效的

代码语言:javascript
复制
    public class Activity extends FragmentActivity{

     static ViewPager mViewPager;  
        private MyFragmentPagerAdapter mMyFragmentPagerAdapter;  
        public void onCreate(Bundle savedInstanceState) {  

            super.onCreate(savedInstanceState);
     mViewPager = (ViewPager) findViewById(R.id.pager);  
            mMyFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager());  
            mViewPager.setAdapter(mMyFragmentPagerAdapter);  
}  
     private static class MyFragmentPagerAdapter extends FragmentPagerAdapter { 
    ...
    }

    @Override
       protected void onResume() {
           super.onResume();

    //WORKS     
             mMyFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager());        
         mViewPager.setAdapter(mMyFragmentPagerAdapter);  

    //DOESN'T WORK
     mMyFragmentPagerAdapter.notifyDataSetChanged();
     mViewPager.setAdapter(mMyFragmentPagerAdapter);     

           }
       }

填充:

代码语言:javascript
复制
 public void startView() {
 this.questions.clear();  // this.questions is a LinkedList
 this.questions.add(q);

    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-24 16:24:42

首先,要更新ListView / ViewPager或任何其他类型的视图及其适配器,您需要重新查询Cursor,例如,如果您正在使用它填充视图。因此,在您的情况下,您有一个ViewPager和一个Adapter。所以你首先要考虑的是你更新LinkedList的方式。在您的情况下,您这样做是正确的,但在我看来,外部类中的this.quetions不同于您用来填充适配器的LinkedList。在这种情况下,我建议您不要使用外部类来更新适配器。如果根据代码结构很难做到这一点,只需确保您在Fragment和外部类中使用相同的LinkedList

票数 1
EN

Stack Overflow用户

发布于 2015-08-03 16:01:05

更改适配器,将FragmentPagerAdapter扩展到FragmentStatePagerAdapter,然后notifyDataSetChanged就可以正常工作。这是我的工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16186268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档