Android 如何知道选项卡式活动模板提供的片段的片段id
我使用了android studio提供的选项卡式活动模板,但我没有找到所用不同片段的id。对于所有三个片段,模板只有一个.xml和.java。我做了一些更改,并对这三个片段分别做了三个.xml和.java。但是我不知道如何为.xml或.java中的不同片段设置id,如果没有id,我无法执行片段间通信。现在检索片段Android 如何知道选项卡式活动模板提供的片段的片段id,android,android-fragments,Android,Android Fragments,我使用了android studio提供的选项卡式活动模板,但我没有找到所用不同片段的id。对于所有三个片段,模板只有一个.xml和.java。我做了一些更改,并对这三个片段分别做了三个.xml和.java。但是我不知道如何为.xml或.java中的不同片段设置id,如果没有id,我无法执行片段间通信。现在检索片段 Fragment f = getSupportFragmentManager().findFragmentByTag(getFragmentTag(mViewPager.getId(
Fragment f = getSupportFragmentManager().findFragmentByTag(getFragmentTag(mViewPager.getId(), mViewPager.getCurrentItem()));
public static String getFragmentTag(int viewId, long id) {
return "android:switcher:" + viewId + ":" + id;
}
MainActivity扩展了AppCompatActivity,片段类扩展了Fragmen。它们不能实现抽象类。需要接口。另外,我应该在代码的哪一部分设置片段的id?您将在
main活动类中找到SectionPagerAdapter
扩展FragmentPagerAdapter
。如果查看FragmentPagerAdapter的实例化Item
方法mCurTransaction.add(container.getId(),fragment,makeFragmentName(container.getId(),itemId))代码>在片段初始化过程中,标记已与片段一起添加。因此,要检索片段,只需调用片段f=getSupportFragmentManager().findFragmentByTag(“android:switcher:+mViewPager.getId()+”:“+mViewPager.getCurrentItem())代码>如果需要向片段添加自定义标记以供以后检索,则需要创建一个扩展FragmentPagerAdapter的新类。