Android 你能给替换时的碎片额外的东西吗?

Android 你能给替换时的碎片额外的东西吗?,android,android-fragments,android-intent,extras,Android,Android Fragments,Android Intent,Extras,我目前有一个应用程序,它在很大程度上依赖于意图以及在开始活动之前提供给他们的额外信息。当调用一个Web服务时,会使用额外的内容,而Web服务又会提供需要显示的内容 我正在尝试将该模型转换为一个模型,在该模型中,我在屏幕底部有一个静态的片段(我们称之为播放器),在其上方有另一个片段(我们称之为内容),它将显示主要内容。通过选择主屏幕上的选项,通过替换内容片段,将显示其他内容 但是,这些新的片段是当前严重依赖额外功能的意图。 有没有办法用新的片段替换片段,但仍然能够向其中添加额外的内容 如果是这样,

我目前有一个应用程序,它在很大程度上依赖于
意图以及在开始活动之前提供给他们的额外信息。当调用一个Web服务时,会使用额外的内容,而Web服务又会提供需要显示的内容

我正在尝试将该模型转换为一个模型,在该模型中,我在屏幕底部有一个静态的
片段
(我们称之为播放器),在其上方有另一个
片段
(我们称之为内容),它将显示主要内容。通过选择主屏幕上的选项,通过替换内容
片段
,将显示其他内容

但是,这些新的
片段
是当前严重依赖额外功能的
意图。
有没有办法用新的片段替换
片段
,但仍然能够向其中添加额外的内容

如果是这样,假设我有以下代码:

FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
        ft.replace(R.id.fragment_holder, new MusicAlbumList(), "albumlist");
        ft.commit();
我如何将这些额外的内容添加到音乐列表中


如果这是不可能的,我将如何在由于缺少基本数据而强制关闭之前将当前通过附加程序传递的数据获取到新片段中?

将MusicAlbumList的构造函数从默认构造函数更改为具有新MusicAlbumList(int arg1,…)等参数的构造函数并将要设置的值传递给构造函数,也可以这样做

MusicAlbumList fragment = new MusicAlbumList();
Bundle args = new Bundle();
args.putString("StringName","Value here");
fragment.setArguments(args);

那就换你的东西。然后在片段onStart或onCreate中调用
this.getArguments()
把包裹拿出来,然后把多余的东西拿出来。

这是我的第一个想法。我猜我必须将所有类重写为片段(目前使用FragmentActivities),我已经用上面提到的方法非常成功了。实际上,这是不推荐的。正确的方法是提供一个参数包。问题是,如果您的片段从内存中删除并重新构建,那么这个构造函数将不会被调用,并且您将很难跟踪bug。