我的应用程序中存在片段问题。我的界面如下所示:
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