从另一个片段替换一个片段
replace a Fragment from another Fragment
我在 Fragment 中有一个人员列表视图,我想在单击人员项目时显示人员详细信息。问题是:单击列表项时的最佳做法是什么?开个activity好还是用别的片段好?在第二种情况下,它将是另一个片段中的一个片段,我不知道这是否是个好主意。为了更好地理解我的问题,只需在 Android Marshmallow 中打开 Mail 应用程序并想象(我认为它是这样实现的)电子邮件列表在一个片段中,当您单击一封电子邮件时,您会打开一个片段或activity?
尝试以下pseudocode
来实施您自己的解决方案:
- 在
FragmentOne
中使用 interface
或 event
。
- 在
Activity
和Override
方法中实现interface
- 在该方法中,只需获取所选项目的位置(将其传递给第一个片段中的方法)并使用它在
FragmentTwo
中显示详细信息
- 最简单的方法是创建一个
Bundle
,将 Extra
设置为用户选择的 position
,最后设置 arguments
通过替换当前显示的 fragment.
到片段和 load 到视图
- 加载片段时,应让片段本身加载所选项目的详细信息。 activity 只是调解人!
这就是您要做的全部。让我知道是否有帮助!祝你好运!
我在 Fragment 中有一个人员列表视图,我想在单击人员项目时显示人员详细信息。问题是:单击列表项时的最佳做法是什么?开个activity好还是用别的片段好?在第二种情况下,它将是另一个片段中的一个片段,我不知道这是否是个好主意。为了更好地理解我的问题,只需在 Android Marshmallow 中打开 Mail 应用程序并想象(我认为它是这样实现的)电子邮件列表在一个片段中,当您单击一封电子邮件时,您会打开一个片段或activity?
尝试以下pseudocode
来实施您自己的解决方案:
- 在
FragmentOne
中使用interface
或event
。 - 在
Activity
和Override
方法中实现interface
- 在该方法中,只需获取所选项目的位置(将其传递给第一个片段中的方法)并使用它在
FragmentTwo
中显示详细信息
- 最简单的方法是创建一个
Bundle
,将Extra
设置为用户选择的position
,最后设置arguments
通过替换当前显示的fragment.
到片段和 load 到视图
- 加载片段时,应让片段本身加载所选项目的详细信息。 activity 只是调解人!
这就是您要做的全部。让我知道是否有帮助!祝你好运!