相关疑难解决方法(0)

如何将结果从第二个片段传递到第一个片段

在我的应用程序中,我有两个片段,分别是fragmentAFragmentB.当我点击fragmetA中的按钮时,会在fragmentB中打开一个列表.现在,当我从fragmentB中的列表中选择一个项目时,我希望将结果传递给fragmentA.我只对所有片段使用一个TabActivity.当在fragmentB中选择列表项时,我从堆栈中弹出fragmentB,这样我就可以直接返回fragmentA了.

有谁知道如何将结果传递给以前的片段.

谢谢.

android android-fragments

24
推荐指数
2
解决办法
2万
查看次数

将数据从当前片段传回到先前的片段

我在我的应用程序中使用导航抽屉.我有一个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配合得很好.但是,当所有碎片都是碎片时我怎么能管理.

android fragment android-fragments fragmentmanager

15
推荐指数
2
解决办法
1万
查看次数

如何使用 android 导航 jetpack 工具更新先前片段的数据?

我有一个表单,有一个字段可以从列表中选择任何项目。我已经使用片段来显示列表,并希望在返回到上一个片段时更新所选值。我不需要根据要求使用本地数据库。

我正在使用下面的行来导航我的第二个片段。

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)

谁能帮帮我吗?提前致谢。

android android-fragments android-jetpack

5
推荐指数
0
解决办法
234
查看次数

将数据发送到堆栈中的上一个片段

我有一个广泛使用Fragments的Activity.

通常的流程是:

片段A - >片段B - >片段C - >片段D.

有时,我回去直接从dB

int id = getFragmentManager().getBackStackEntryAt(1).getId();
getFragmentManager().popBackStack(id, 0);   
Run Code Online (Sandbox Code Playgroud)

它工作正常.但是,我的片段B活动中没有任何参考.

发送Fragment D中的 Fragment B数据的最佳方法是什么?

android android-fragments

2
推荐指数
1
解决办法
2504
查看次数