java—将数据从一个片段传递到另一个片段,但bundle=null

rjzwgtxy  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(279)

我知道有一些类似的问题,但我对androidstudio和java是新手,我没有找到解决问题的方法。所以我知道我可以用下面的代码传递片段一的数据:

Fragment fragment = new Fragment();
Bundle bundle = new Bundle();
bundle.putInt(key, value);
fragment.setArguments(bundle);

然后在我的第二个片段中,使用以下方法检索数据:

Bundle bundle = this.getArguments();
if(bundle!=null)
   int myInt = bundle.getInt(key);

但我的问题是我的bundle是空的,我没有得到第二个片段的值。我知道的是,我的问题可能是因为fragment fragment=new fragment()我做了一些实验,并从我的活动中传递了一个值,但首先它不起作用,但后来我意识到我有一行类似fragment listframent=new fragment(),然后我使用listframent如下:

Bundle bundle = new Bundle();
        bundle.putInt(key, value);
        listFragment.setArguments(bundle);

然后我从我的活动中得到了我的价值,我的第二个片段。所以我想问为什么这是我的活动,而不是我的碎片

jogvjijk

jogvjijk1#

在这里,

Fragment fragment = new Fragment();

您正在使用默认fragmentfactory使用的构造函数。您想使用您创建的片段。例如,

Fragment fragment = new FragmentTwo();

相关问题