繁体   English   中英

如何在ViewPager中获得对片段的引用?

[英]How can I get a reference to a Fragment in a ViewPager?

我找到的唯一记录方式是:

MyFragment fragment = (MyFragment) getSupportFragmentManager().findFragmentById(R.id.fragment);

但是由于Fragment是在ViewPager中实例化的,所以我没有id。

    List<Fragment> fragments = new Vector<Fragment>();
    fragments.add(Fragment.instantiate(this, Fragment1.class.getName()));
    fragments.add(Fragment.instantiate(this, Fragment2.class.getName()));
    fragments.add(Fragment.instantiate(this, Fragment3.class.getName()));

谢谢

你似乎把所有碎片都保存在一个过时的Vector 在这种情况下,您将从同一个Vector检索您的片段。 例如,在ViewPager上调用getCurrentItem()以查找当前选定的片段索引,然后使用该索引调用Vector上的get()

但请注意,如果依靠FragmentPagerAdapterFragmentStatePagerAdapter来保存片段,则可能不存在给定索引的片段,因为它尚未创建或已被丢弃以最小化内存消耗。

(顺便说一句,请参阅为什么Java Vector类被认为已过时或已弃用?有关Vector更多信息)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM