3

我目前有一个严重依赖的应用程序,Intents并且在开始活动之前给了他们额外的东西。调用 web 服务时使用附加功能,该服务反过来提供需要显示的内容

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

但是,这些新产品Fragments目前Intents非常依赖临时演员。有没有办法将 a 替换为Fragment新的,但仍然可以添加额外内容?

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

FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
        ft.replace(R.id.fragment_holder, new MusicAlbumList(), "albumlist");
        ft.commit();

如何将附加内容添加到 MusicAlbumList?

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

4

2 回答 2

10

或者你可以这样做

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

然后做你的替换东西。然后在片段 onStart 或 onCreate 调用this.getArguments();中拉出捆绑包,然后从那里取出你的额外内容。

于 2013-02-15T21:16:57.550 回答
2

将 MusicAlbumList 的构造函数从默认构造函数更改为带有参数的构造函数,例如 new MusicAlbumList(int arg1, ...) 并通过构造函数传递要设置的值

于 2011-12-05T10:14:49.133 回答