gpt4 book ai didi

android - 在 Android 应用程序中使用 Activity 或 Fragment

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:00:19 26 4
gpt4 key购买 nike

我是安卓新手。我经常使用 Activity 从一个屏幕切换到具有其他功能的另一个屏幕。从主页到热门页面的示例。在那之后,我知道了 fragment ,但我以前从未使用过它。因此,如果我的应用程序在屏幕上有多个选项卡,请不要在此处使用 TabHost。每个选项卡的功能非常不同,例如:主页选项卡、流行选项卡、新闻选项卡、个人资料选项卡……就像 Instagram 应用程序。我必须用那个

  1. Activity to change Screen to another Screen,这意味着:我有主页 Activity ,热门 Activity ,...并在更改屏幕时更改 Activity 。每个 Activity 都有每个布局。
  2. 在一个 Activity 中使用 fragment 。我们有多个 fragment ,例如 HomeFragment、Popular Fragment...更改屏幕时更换 fragment 。

什么方法比较好?我想问一下什么时候只用手机屏幕。 (小尺寸屏幕,不适用于平板电脑)。

最佳答案

重要的是,将 Android 设备视为一个频谱,而不是明确的“手机”与“平板电脑”桶。在许多情况下,您可能希望在 mediumlarge 屏幕上显示更多信息。有时,这意味着同时显示两个“Activity ”。

使用 fragment 需要很少的开销,但增加了可衡量的灵 active ,尤其是在开发过程的早期考虑时。如果你正确使用 Fragments,适应更大的屏幕是非常简单的。然而,有一些“陷阱”可能会使 Fragments 看起来比实际更令人生畏:

  • Fragment 类必须始终声明为public(如果它是嵌套类,则必须是static)。

  • 在父Activity(或FragmentActivity)中,如果savedInstanceState == null<,只添加根Fragment/。如果您正确管理 Fragment 的状态,一切都会为您处理(滚动位置、EditText 值等)。

  • Activity 必须调用 onSavedInstanceState 以便 Fragment 正确恢复其状态。

  • setRetainInstance(true) 应该只用于“ headless ” fragment 。这是当您使用没有 UI 且未添加到返回堆栈的 Fragment 时,这通常用于执行依赖于生命周期的工作。

  • 不能在 FragmentTransaction 中使用以 XML 声明的 fragment (反之亦然)。

Fragment 视为模块化 View ,当重要事件发生时,它会为其 Activity 提供 Hook (回调)。 Activity 根据可用空间决定是启动一个新的 Activity,还是显示一个新的 Fragment

关于android - 在 Android 应用程序中使用 Activity 或 Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18885311/

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