显示它的活动中的片段实例

时间:2017-01-25 06:11:13

标签: android fragment

我在一项活动中有ViewPagerTabLayout。我正在使用ViewPagerAdapter来显示我的三个片段。

现在我想从一个片段中调用一些函数。只要从活动中单击一个按钮,就应该更改片段列表。因此,错误即将发生,只要我单击按钮,片段的list元素就为null,因为该元素未在activity中声明,而是在片段中声明。那么如何获取片段的整个实例以便列表可以很容易地改变。我用过:

(PatientHistoryFragment)getSupportFragmentManager().findFragmentByTag("android:switcher:" 
    + R.id.myRecordsViewPager 
    + ":" 
    + mViewPager.getCurrentItem());

但它正在返回null

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

即将发生的问题是我在viewpager中添加的适配器是: -

ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());

我的ViewPagerAdapter所在的位置: - class ViewPagerAdapter extends FragmentStatePagerAdapter

由于我的变量

(PatientHistoryFragment)getSupportFragmentManager().findFragmentByTag("android:switcher:" + R.id.myRecordsViewPager + ":" + mViewPager.getCurrentItem());

返回null。但我将我的ViewPagerAdapter类改为: - class ViewPagerAdapter extends FragmentPagerAdapter(简言之,我删除了State),现在它可以工作了。谢谢大家:)