gpt4 book ai didi

java - 在 Activity 之上打开 fragment 的最佳实践是什么

转载 作者:行者123 更新时间:2023-12-01 17:50:05 25 4
gpt4 key购买 nike

我有一个 Activity ,上面已经有一堆元素,我想在该 Activity 上打开一个 fragment 。

我想使用 fragment 而不是 Activity ,这样我就可以传递一些无法序列化或可解析的对象。

到目前为止,我设法通过执行以下操作来做到这一点:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<FrameLayout
android:id="@+id/fragment_container"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:visibility="gone"/>

<RelativeLayout
android:id="@+id/main_container"
android:layout_width="match_parent"
android:layout_height="match_parent">

.
.
.

在我的 Activity 中,我只需将我的 fragment_container 更改为可见,然后执行 fragment 事务以将 fragment 添加到那里,同时还设置具有以下所有 View 的 main_container我的 Activity 消失了。

我知道这不是一个很好的解决方案,我一直在考虑将 main_container 内的所有 View 移动到一个新 fragment ,这样我就可以替换一个或另一个容器。

在 Activity 之上打开 fragment 的最佳实践是什么?

最佳答案

我使用的一般经验法则:

如果您使用 fragment ,那么您的 Activity 应该非常愚蠢。

这意味着它们本身不应该包含任何 View ,而只包含跟踪 fragment 的逻辑(也许只有 Activity 可以管理的逻辑)。

我会将当前 Activity 中的所有 View 和逻辑移至单独的 Fragment 中。

然后您可以简单地将“标准” fragment 替换为新 fragment 。 2 个 fragment ,干净简单。

关于java - 在 Activity 之上打开 fragment 的最佳实践是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51273923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com