Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何知道选项卡式活动模板提供的片段的片段id_Android_Android Fragments - Fatal编程技术网

Android 如何知道选项卡式活动模板提供的片段的片段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(

我使用了android studio提供的选项卡式活动模板,但我没有找到所用不同片段的id。对于所有三个片段,模板只有一个.xml和.java。我做了一些更改,并对这三个片段分别做了三个.xml和.java。但是我不知道如何为.xml或.java中的不同片段设置id,如果没有id,我无法执行片段间通信。

现在检索片段

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的新类。