我的应用程序中存在片段问题。我的界面如下所示:

Screen 1
+---------------+
|   Fragment 1  |
+---------------+
|   Fragment 2  |
|               |
|               |
+---------------+

Screen 2
+---------------+
|   Fragment 1  |
+---------------+
|   Fragment 3  |
|               |
|               |
+---------------+


每个屏幕都是一个单独的活动,这些片段在我的布局.xml文件中定义(因此,动态替换可能不起作用)。

我的问题是:

screen1和screen2都包含一个fragment1,以及随之而来的所有信息。就目前而言,当我启动screen2活动时,我当前正在传递fragment1的所有数据-然后,我用来自fragment1 screen1的数据填充screen2中的fragment1。如果用户单击“后退”按钮,则必须用screen2中更改的内容填充fragment1 screen1。真是头疼

有没有更简单的方法可以做到这一点?

(我不希望使用单一活动/多片段方法,因为我已经去过那里,并决定多重活动/多片段对此应用程序更好。)

最佳答案

有没有更简单的方法可以做到这一点?


是的,使用单个Activity,并在需要添加时使用Fragment 3 replace Fragment 2,因此Fragment 1的所有数据将保持不变。


  (我不希望使用单一活动/多片段方法,因为我已经去过那里,并决定多重活动/多片段对此应用程序更好。)


我不得不不同意,因为您通过在xml中设置Fragments并在Activity之间传递其数据来选择了更困难的路线。我几乎可以保证,这比在布局中设置FrameLayout容器,然后在其中添加/替换Fragment容器要多。

简单示例-http://developer.android.com/training/basics/fragments/fragment-ui.html

10-08 18:19