在我的应用程序中,我有两个片段,分别是fragmentA和FragmentB.当我点击fragmetA中的按钮时,会在fragmentB中打开一个列表.现在,当我从fragmentB中的列表中选择一个项目时,我希望将结果传递给fragmentA.我只对所有片段使用一个TabActivity.当在fragmentB中选择列表项时,我从堆栈中弹出fragmentB,这样我就可以直接返回fragmentA了.
有谁知道如何将结果传递给以前的片段.
谢谢.
我在我的应用程序中使用导航抽屉.我有一个MainActivity,其余的是片段.所以问题是假设我有三个片段,如A,B,C.
现在在A我有一个按钮,我从A> B发送数据.
例如putSring("datafrom A","data from A");
现在在B中我从A接收数据.
我在B中有一个按钮,我从B> C发送数据.
例如putSring("datafrom B","data from B");
现在在C中我从B接收数据.
然后,我在C中有一个Button,并从C> B发送数据.
例如putSring("data from C","data from C");
所以,似乎在B中我从两个不同的片段获取数据.我尝试了所有使用活动,它与startActivityforresult配合得很好.但是,当所有碎片都是碎片时我怎么能管理.
我有一个表单,有一个字段可以从列表中选择任何项目。我已经使用片段来显示列表,并希望在返回到上一个片段时更新所选值。我不需要根据要求使用本地数据库。
我正在使用下面的行来导航我的第二个片段。
navHostFragment.getNavController().navigate(R.id.action_fragmentA_to_fragmentB);
Run Code Online (Sandbox Code Playgroud)
然后在返回时,无论用户选择什么值,我想在第一个片段上显示
FragmentB fragmentB= (FragmentB)getFragment(FragmentB.class);
if(fragmentB!=null){
fragmentB.setUpType(name,resource);
}
public Fragment getFragment(Class fragmentReq) {
List<Fragment> fragmentList = navHostFragment.getChildFragmentManager().getFragments();
for (Fragment fragment : fragmentList) {
if (fragment.getClass() == fragmentReq)
return fragment;
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
谁能帮帮我吗?提前致谢。
我有一个广泛使用Fragments的Activity.
通常的流程是:
片段A - >片段B - >片段C - >片段D.
有时,我回去直接从d到B与
int id = getFragmentManager().getBackStackEntryAt(1).getId();
getFragmentManager().popBackStack(id, 0);
Run Code Online (Sandbox Code Playgroud)
它工作正常.但是,我的片段B活动中没有任何参考.
发送Fragment D中的 Fragment B数据的最佳方法是什么?