我目前有一个严重依赖Intents
的应用程序以及在开始活动之前给予他们的额外内容。在调用webservice时使用附加功能,而webservice又提供需要显示的内容
我正在尝试将该模型转换为我的屏幕底部有静态Fragment
(让我们称之为播放器)的模型,以及另一个Fragment
(我们称之为内容)它将显示主要内容。通过在主屏幕上选择选项,将通过替换内容Fragment
来显示其他内容。
但是,这些新的Fragments
目前是Intents
,它依赖于附加内容。
有没有办法用新的Fragment
替换FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.fragment_holder, new MusicAlbumList(), "albumlist");
ft.commit();
,但仍然可以添加额外内容?
如果是这样,假设我有以下代码:
{{1}}
如何将附加内容添加到MusicAlbumList?
如果那是不可能的,在由于缺少基本数据而强制关闭之前,如何将当前通过附加内容传递的数据导入我的新片段?
答案 0 :(得分:9)
或者你可以这样做
MusicAlbumList fragment = new MusicAlbumList();
Bundle args = new Bundle();
args.putString("StringName","Value here");
fragment.setArguments(args);
然后做你的替换。然后在片段onStart或onCreate上调用this.getArguments();
来拉取捆绑包,然后将你的额外内容从那里拿出来。
答案 1 :(得分:2)
将MusicAlbumList的构造函数从默认构造函数更改为具有new MusicAlbumList(int arg1,...)等参数的构造函数,并传递要通过构造函数设置的值