这个问题已经在这里有了答案:

我有带fragments ViewPager 适配器从重写方法getItem ()获取片段。

@Override
   public Fragment getItem(int position) {
   return new MyFragment();
}

我需要ViewPager在某个事件中重新加载其所有fragments (例如,按下按钮)。 即所有片段(甚至是现在打开的片段及其邻居)都已更新。 如何实现呢?

#1楼 票数:0

您可以像这样调用ViewPager再次设置适配器,

yourViewPager.setAdapter(yourAdapter);

但是问题是它将跳到第一个元素位置(即, ViewPager第一个Fragment )。 为了避免这种情况,您可以使用一个Listener来侦听ViewPager的当前项(当前片段)并将当前位置存储在变量中。 现在,您可以使用此变量在刷新后设置ViewPager的当前项目。 像这样

yourViewPager.setAdapter(yourAdapter);
yourViewPager.setCurrentItem(currentPosition);

如果我的理解是错误的,请纠正我。

#2楼 票数:0

在适配器中重写getItemPosition如下所示:

public int getItemPosition(Object object) {
    return POSITION_NONE;
}

然后调用adapter.notifyDataSetChanged()ViewPager将删除所有视图并重新加载它们。

  ask by Anasteisha translate from so

未解决问题?本站智能推荐:

1回复

为什么我的片段在viewpager中重新初始化?

我的viewpager有一个问题,其中包含3个片段:当我转到左侧片段时,右侧片段的信息消失,而当我转到右侧片段时,左侧片段的信息消失。 “信息”是指我项目中的textViews标签和数据。 此问题导致NullPointerExceptions。 我的代码: } 我的片
2回复

ViewPager 同时加载 2 个片段

所以我有 2 个片段并查看寻呼机。 当我单击按钮加载第一个片段时,第二个片段也会加载到同一屏幕上。 我正在使用的适配器: 适配器.java: 知道这里发生了什么吗?
3回复

如何在viewpager中重新创建片段?

我只是尝试在 viewpager 中重新创建片段,但我不能。 当我从当前片段返回到上一个片段时,我想重新创建上一个片段。 例如,我有 12 个月的碎片时间。 当我转到“三月页面”时,如果我转回“二月页面”,我看不到“二月页面”的任何变化。 MonthPagerAdapter 天数适配器
1回复

ViewPager中的片段问题

我在ViewPager有3个片段 。 我为每个Fragment设置了不同的NavigationBar颜色(以编程方式)。 这是代码。 在Logcat我看到了错误的数字。 例如,我在第一个Fragment ,看到的是GREEN NavigationBar和“ 2”。 为什么? 我
1回复

Java Android-ViewPager片段加载

我有ViewPager(4个片段),当我启动应用程序时,这4个片段开始加载(来自服务器的json对象),它并不酷,因为每个片段大约有100个项目。 如何在开始时仅加载一个片段,并且仅在用户切换到片段时才加载每个片段。 在Vine的Twitter中制作了一个类似的应用程序。
1回复

ViewPager片段中的ListView

我试图让ListView在android ViewPager Fragment 。 到目前为止,我拥有的这段代码导致应用程序崩溃-我不确定为什么!
1回复

在 ViewPager 中刷新片段

我有包含 3 个选项卡的 ViewPager。 Tab(3),除了股票片段,还包括 2 个片段 (B) --> (C)。 通过按下 (C) 中的按钮,我想刷新/重新创建 Tab(2)。 最好的方法是什么? 谢谢。
1回复

ViewPager中片段之间的通信

我有一个具有ViewPager的片段。 ViewPager内部的每个片段都显示基于主片段中的SearchBar的一些数据。 主Fragment还有一个名为getKeyword()的公共方法(该方法返回SearchBar的字符串)。 但是我不知道如何在ViewPager片段中获取主片段的引用