将Fragment重用于Activity但使用一些修改过的数据

时间:2017-02-26 06:22:27

标签: java android android-fragments

我正在研究如何使用Udacity的Android教程中的片段。我陷入了两难境地。 让我们说,我有一个活动A,它由一个框架布局组成。我使用FragmentManager向此活动添加了一个片段B(由TextView TVfrag组成)。 现在是否可以再次(从A)调用片段B,但现在在TextView(TVfrag)中修改了数据?

2 个答案:

答案 0 :(得分:1)

直接从活动更新片段不是一个好方法。如果要更新片段中的文本,则还应将更新逻辑保留在片段中。使您的片段与活动松散耦合,以便它可以与其他活动一起使用。 根据谷歌 -

enter image description here

了解详情 - https://developer.android.com/training/basics/fragments/communicating.html?hl=ru

答案 1 :(得分:1)

是的,您可以使用它,因为片段可以重复使用。但这一次这将是新的对象而不是旧对象。您创建新的片段对象,然后用新数据替换它。并且不要将之前的片段添加到后台堆栈中。

OR

您可以在片段中创建一些方法,它将根据某些事件更新textview的值。并确保您的片段已附加或视图未被破坏。否则会抛出空指针异常。