当前位置: 首页 > 知识库问答 >
问题:

如何将活动值传递给片段[重复]

梅安平
2023-03-14

当我关闭一个活动时,我希望它将一个值传递给另一个活动中的一个片段,我该怎么做?

活动B

            FragmentManager fragmentManager = getSupportFragmentManager();
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

            boolean value = true;

            Bundle bundle = new Bundle();
            bundle.putBoolean("info", value);
            FragmentA fragment = new FragmentA();
            fragment.setArguments(bundle);
            fragmentTransaction.replace(R.id.idViewPager, fragment).commit();

片段A

 @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (getArguments() != null) {

        Boolean values = getArguments().getBoolean("info");
    }
}

代码不起作用,因为它给了我一个错误

java.lang.IllegalArgumentException: No view found for id 0x7f080163

谢啦

共有1个答案

常鸿朗
2023-03-14

您正在尝试访问属于其他活动的ViewPager。如果要更改活动A的ViewPager中的片段,则活动A需要做出该决定。如果活动A正在启动活动B,处理此问题的最简单方法是对活动B使用StartActivityForResult。设置结果(在此处返回值)后,在活动A中生成片段事务,结果侦听器在其中接收它。

希望这能有所帮助。

 类似资料:
  • 这可能是一个愚蠢的问题,但我正在努力解决如何在activity和viewpager之间传递值的问题。现在让我解释一下我的要求,我有两个标签,即任务和调用。当用户按下任务中的一个按钮,它将从中转到新活动时,将有两种形式:一种是edittext,另一种是spinner,需要从该活动数据在任务片段中填充listview。到目前为止,我尝试的是: 这是我的主要活动: 这是我的任务片段(在这里填充listv

  • 我想把<代码>工作流程。睡眠调用我的Cadence活动之一,以便能够正确测试它(并模拟function产生的错误结果)。 在实现之前,我注意到两件重要的事情: 和是单独的类型。 每个活动的第一个参数 - - 是可选的,可以省略 我的尝试: 1.首次尝试 错误: "error":"无法解码活动函数输入字节错误:无法解码参数:0,*internal.Context,json错误:json:无法将对象散

  • (更新) 我正在使用java servlet和oracle sql构建酒店管理<我从数据库打印一个html表,如果我更改了传递给另一个servlet的值,我需要更新一行<这是我的第一个servlet 这是html表的示例 表格样本 现在,我需要更新行值并将其发送到数据库,这是第二个servlet打印表 我像这样更新了我的代码,但只有第一个按钮有效。有什么想法吗?提前谢谢你。 (更新) 最后,我的程

  • 我目前正在制作一个android应用程序,我想在activity和fragment之间传递一个日期。我的活动有一个按钮,打开片段:DatePickerFragment。 在我的活动中,我显示了一个日期,我想用片段修改它。因此,我想将日期传递给datepicker,并将其发送回活动。 我已经尝试了很多解决方案,但都没有奏效。简单的方法是传递一个参数,但这不能用片段来完成。

  • 我一直试图使用bundle将数据从主活动传递到片段。我已经使用TabLayout和ViewPager以Tab格式添加活动的片段。我没有得到任何错误,但我得到一个null对象作为返回,它显示“错误”在我的第一个片段,因为我已经添加了一个If条件为null对象。这是我的密码 谁能建议我为什么从主活动到片段得到一个空对象,以及如何将多个数据从主活动转移到其他片段,也就是第二和第三个片段。