相关疑难解决方法(0)

如何将数据从一个片段传递到以前的片段?

我要去FragmentA-> FragmentB.现在从FragmentB我想将数据传递给FragmentA.So我该怎么做?

目前我正在使用FragmentB-> FragmentA getCustomFragmentManager().popBackStack(); 但没有传递任何值.

android

12
推荐指数
3
解决办法
7402
查看次数

使用Android导航将数据传回上一个片段

我已经开始使用Android体系结构组件(导航和安全Args,视图模型)以及Koin库。

目前,我在两个片段之间传递参数时遇到了问题-我需要将一个字符串值从片段A传递到片段B,在片段B中修改此值,然后将其传递回片段A。

我找到了解决我的问题的一种可能的方法-共享视图模型。不幸的是,这种方法有一个问题,因为我可以在屏幕之间传递和修改值,但是当片段A导航到另一个目标时,共享视图模型中的值仍会存储而不清除。

在Android导航中的片段之间传递和修改数据是否有其他解决方案?我想避免手动清除此值(当碎片A被破坏时)。

android android-navigation koin android-jetpack android-architecture-navigation

6
推荐指数
2
解决办法
1056
查看次数

如何使用 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
查看次数