0

嗨,我正在开发 android 应用程序,其中我使用一个活动和两个片段。考虑谷歌解释的同一个例子,比如一个列表视图和详细视图。单击列表项时,我们将呈现相应的详细信息片段。

因此,我学习了如何进行片段事务,并提出了两种解决方案。一种是谷歌解释的标准方式,它制作一个接口并将该接口实现到主要活动中。并在主要活动中进行片段交易。

我尝试了另一种方式。当我单击单击侦听器中的列表项而不是调用界面时,我仅更改列表片段中的片段并且它工作正常。

所以我想知道这些方法之间有什么区别。从主要活动更改片段并仅从片段更改。

如果我使用第二种方法实现,我将面临什么样的问题。即仅从片段更改。

需要帮忙。谢谢你。

4

1 回答 1

1

如果我使用第二种方法实现,我将面临什么样的问题。即仅从片段更改。

没有实际问题,更多的是设计讨论。使用第二种方法意味着您正在制作一个非常具体的片段,点击其中一行将在持有人活动的特定位置与特定片段进行交易。如果您打算重用此片段,这将是一个问题。

假设你有这个ListFragment并且你决定应该在其他五个活动中使用它(使用不同的数据)。因为它在单击其中一行时具有非常精确的动作,所以该片段将始终要求持有者活动具有一个特定的容器(将在其中完成事务)以及它最初使用的特定详细信息片段。问题是,在这五个活动中的每一个活动中,您可能希望在单击 的一行时使用不同的片段ListFragment,这需要对ListFragment.

现在假设您使用接口方法具有相同的行为。由于ListFragment不知道或不关心谁处理该单击事件(因为它将它传递给任何注册为侦听器的人),您可以简单地将其ListFragment放入五个活动中而没有问题(因此根本不需要对其进行更改)。然后,在活动的接口方法中,您可以使用所需的任何片段以及所需的任何容器设置来实现所需的行为。

于 2013-08-29T08:38:45.610 回答