当前位置: 首页 > 知识库问答 >
问题:

在Android中从一个活动加载多个片段

胡沈义
2023-03-14

我有一个疑问,想澄清一些关于包含多个片段的活动的观点。

我有10个片段与一个活动(HomeActivity.java)相连;此活动包含一个导航抽屉和工具栏,带有多个图标,如搜索、添加、删除、后退按钮等。

我遵循的结构如下:,

用户点击抽屉菜单中的任何项目,我正在加载片段,

fragmentManager.beginTransaction().replace(R.id.fragment_container, fragmentToLoad, tagFragment).addToBackStack(tagFragment).commit();

碎片加载-

我正在根据HomeActivity本身中的片段更改标题名称,基于工具栏。

我的导航抽屉项目只有一个片段,在fragment_容器中被替换,但还有一件事,这些片段也有内部子片段。

在一开始,我说有10个片段,这10个片段是导航抽屉项目。有许多内部框架。

现在,我在HomeActivity中维护内部片段的click侦听器和其他活动。java本身使用接口(监听器)。

所以,有时我会收到警告“主线上有很多工作要做”。

我知道有很多活动在进行家庭活动。Java语言

请告诉我这个架构是错误的,或者有什么解决方案。

共有1个答案

江仲渊
2023-03-14

我不会说你的架构是错的。相反,我要说的是,通过使用单个中心活动来处理如此多的片段,您正在使维护和调试该活动变得非常困难。

就警告消息而言,它取决于跳过的帧数(在日志中“有很多工作正在进行”之前打印的内容)。我相信如果这个数字是100左右,那么这真的不应该是一个严重的问题。请仔细阅读此答案以获得完整的解释!希望这有帮助。

 类似资料:
  • 我想在Android的一个活动中添加两个片段。但在加法时,它给出了错误; activity_main.xml 片段的布局1 片段2的布局

  • 我读过很多关于这方面的文章,但也有2012年或更早的文章。 (我只是打算从数据库中读取和插入一些数据。)

  • 在我的应用程序中,我使用了一个活动和两个片段。该应用程序使用带有容器的布局,因此片段是通过事务添加的。第一个片段包含列表视图,另一个片段包含列表视图项的详细视图。两个片段都使用setRetainInstance(true)。片段是通过替换事务添加的,并设置了addToBackStack(null)。列表片段包含一个实例变量,其中包含列表的一些信息。现在我正在切换到详细并按回,实例变量为null。我

  • 我已经完成了导航,现在进入第一个片段。在第一个片段中有两个按钮,我需要通过按下这些按钮来切换到一个新的活动。我不明白如何正确地实施它。我犯了一个错误。 代码,eror

  • 我有两个活动,分别是家庭活动和沙拉菜单活动。主页活动包含七个片段,其中一个名为菜单类别的片段有四个图像,第一个图像下面的文本是沙拉菜单,当用户单击沙拉菜单时,将启动名为沙拉菜单活动的新活动。 我想,当用户点击后退按钮时,home活动必须开始,并且应该从启动salad菜单活动的相同片段开始,即home活动中的菜单类别片段。我希望每个活动都会发生这种情况,例如,如果用户从您的订单片段开始一个新的活动,