【问题标题】:Multiple Fragment To Single Actitvity多个片段到单个活动
【发布时间】:2017-04-29 06:14:48
【问题描述】:

我不知道如何表达这一点,但我的想法是我有一个导航抽屉,它将调用 (Intent an Activity) 并且Activity 将自动替换来自NavigationView 链接点击的内容库。

所以从我的 MainActivity -> ReadActivity (Activity 调用其他 Activity)并将 ReadActivity 内容替换为来自 NavigationView 的主题点击。

我用来替换的这段代码:

LayeringViewer layeringViewer = new LayeringViewer();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.layer_frame_layout,layeringViewer);
ft.commit();

我知道如何放置片段。但是我怎么能在调用其他活动时做到这一点?像 Bundles 一样传递 Fragments。

【问题讨论】:

  • 如果你开始一个新的 Activity,你会失去 Fragment 容器视图

标签: android android-fragments android-intent android-activity


【解决方案1】:

如果您想根据抽屉中的选择更改内容,则将抽屉上的数据传递到活动附近并根据该替换片段

例如:

Fragment fragment = new SupportFragment();
  Bundle args = new Bundle();
  args.putInt(SupportFragment.ARG_NAME, name);
  args.putString("screenfrom", screenfrom);
  fragment.setArguments(args);
  fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();

【讨论】:

  • 你明白了吗?你可以问是否感到困惑。@RoCk
  • 是的,我会试试的。并且会接受你的回答。谢谢阿米特。
  • 不,但我修改了它。我没有使用捆绑包。但与此类似,我只是将字符串作为关键字传递,当从其他人收到关键字时,我将其放入 switch 语句中以更改 frame_layout_placeholder。我发现你的回答对我 ARG_NAME 的困扰很有用。
【解决方案2】:

您不能在包中传递片段,但是您可以发送带有意图的附加内容,并在接收活动中获取意图并根据意图的值将片段容器替换为片段。

【讨论】:

  • 能给个提示码吗?我可以想象出你的想法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-12
  • 1970-01-01
  • 2015-04-12
  • 1970-01-01
相关资源
最近更新 更多