n00*_*mer 38 android fragmentpageradapter
我正在编写一个使用FragmentPagerAdapter的应用程序.需要根据外部数据更新适配器中的片段 - 但这不会发生.我注意到片段类只在getItem函数中实例化一次:
@Override
public Fragment getItem(int position) {
TabInfo info = mTabs.get(position);
return Fragment.instantiate(mContext, info.clss.getName(),
info.args);
}
Run Code Online (Sandbox Code Playgroud)
即使我删除了该类并使用了一个新类,也没有任何帮助 - 这个方法只调用一次,第一次填充选项卡,然后再也不会.任何人都知道为什么?
谢谢!
Kuf*_*ffs 50
只要适配器需要片段并且片段不存在,就会调用getItem.
如果片段已经存在于FragmentManager中,那么就不需要实例化它,也不需要调用getItem.
要更新现有片段,您需要从FragmentManager或适配器中检索它并相应地对其进行操作.
默认情况下,viewpager将为可见页面和旁边的页面创建片段.即开始时,位置1和2中的片段.当您滑动到第2页时,将创建位置3处的片段等
小智 18
为了比上面的答案更具体(这是正确的!),getItem由FragmentPagerAdapter的instantiateItem(ViewGroup容器,int位置)方法调用.以防万一有帮助:)
| 归档时间: |
|
| 查看次数: |
29857 次 |
| 最近记录: |