您应该在包含ViewPager和子片段的父级中编写如下方法:
public void setPagerFragment(int a)
{
pager.setCurrentItem(a);
}
这将将ViewPager中的当前Fragment设置为指定的Fragment。然后,您可以从子Fragment中使用以下方式调用此方法:
int newFrag = 0;
ParentActivity parent = (ParentActivity) getActivity();
parent.setPagerFragment(newFrag);
关于在请求中发送额外数据以显示在新片段中,您可以在父类中创建另一个方法,在子类中调用该方法,该方法将在父类中设置一些数据,父类可以在设置新片段时使用这些数据。
例如,在父类中:
public void setExtraData(Object data)
{
dataFromChildFrag = data;
}
然后在子元素中这样使用:
String data = "My extra data";
ParentActivity parent = (ParentActivity) getActivity();
parent.setExtraData(data);
最后,如果父级实际上是一个 Fragment,而不是一个 Activity,请仅替换所有引用:
ParentActivity parent = (ParentActivity) getActivity();
至:
ParentFragment parent = (ParentFragment) getParentFragment();
希望这能有所帮助!