gpt4 book ai didi

android - fragment - 您是否必须在包含整个 Activity 的 fragment 周围使用 Activity Wrapper?

转载 作者:IT老高 更新时间:2023-10-28 23:10:07 25 4
gpt4 key购买 nike

考虑 developers.android.com 中的示例应用程序

这描述了像这样使用 fragment :

  • 在手机上,您可以在 Activity A 上使用 Fragment 1,在 Activity B 上使用 Fragment 2。
  • 在平板电脑上,您拥有更多空间,因此您可以在 Activity A 中使用 Fragment 1 和 Fragment 2。

太棒了! ...但是...在第一个示例(带有电话的示例)中,您使用包含单个 <fragment> 的 xml 文件创建了一个 Activity。仅此而已,在 Activity 中您只需调用 setContentView()在那个xml上?这似乎有很多冗余代码( Activity 、XML 和 fragment 来显示 fragment ):你能设置一个 Fragment作为 Activity还是总是需要带有 XML 的 Wrapper?

最佳答案

啊,找到了here

public class MainMenuHolder extends FragmentActivity {

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// If not already added to the Fragment manager add it. If you don't do this a new Fragment will be added every time this method is called (Such as on orientation change)
if(savedInstanceState == null)
getSupportFragmentManager().beginTransaction().add(android.R.id.content, new MainMenuFragment()).commit();
}
}

FragmentActivity 允许您将 Fragment 设置为 android.R.id.content 的内容,我假设它是主干 View 的 android 内部 ID。

使用这种方法,你仍然会得到一个大部分冗余的 Activity (如果你想要的只是 fragment 充当 Activity )。但是,仍然有一个 Activity 和一个充当容器的 XML 文件的一半。

任何其他答案将不胜感激!

关于android - fragment - 您是否必须在包含整个 Activity 的 fragment 周围使用 Activity Wrapper?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6676921/

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