问题标签 [fragmentmanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1749 浏览

android - AsyncTask 和 FragmentManager 的问题

我开发了一个应用程序,但用户说应用程序在特定部分崩溃,我怀疑是罪魁祸首的代码可以在下面找到,但为您提供一些上下文。我有一个充当向导的片段管理器,最后一个片段上是一个提交按钮,单击该按钮时,“处理”来自所有寻呼机片段的数据,然后重定向到确认片段,所有这些都发生在提交按钮之后单击是在异步任务中完成的。此外,如果有任何后果,我会在 AsyncTask 运行时运行一个进度对话框。

0 投票
2 回答
211 浏览

android - 以这种方式重用 Fragment View 会导致一些问题吗?

这是这种情况。我在片段 A 中有一个列表视图,其中有一个无限列表,当用户到达底部时,该列表通过 Web 服务填充。

列表视图中的每个项目都有一个“查看更多”链接,可打开该项目的详细片段 B。

我正在使用 FragmentManager.replace() 方法和“addToBackStack”。(我是“替换”而不是“添加”,因为我在片段 A 中有我不想在片段 B 中显示的菜单项。我已经尝试了不同的方法来添加片段,而不是在打开时删除并尝试隐藏菜单项片段 B 已经工作,但以一些其他问题结束,所以我更喜欢使用替换")

假设用户正在查看列表中的第 25 项,然后打开详细信息片段。当用户然后点击后退按钮时,我希望用户继续在同一位置查看列表。

这很容易通过“添加片段”而不是“替换”来实现,因为片段从未被删除。使用“替换”时,片段会被删除,然后当被击退时,它将再次呈现(又名,将再次调用 onCreateView)

但是此时,已经为片段创建了视图,因为 FragmentManager.remove 仅从视图层次结构中删除视图,但不破坏片段。所以我“理论上”可以做这样的事情:

但在这种情况下,它会导致

java.lang.IllegalStateException:指定的孩子已经有一个父母。您必须首先在孩子的父母上调用 removeView()。

所以,我的解决方案如下:

这对我有用,但我不知道除了这个解决方案之外是否会有一些我现在没有看到的“隐藏”错误。

我想听听你的建议。提前致谢

0 投票
2 回答
16341 浏览

android - 未调用 Android onBackStackChanged()

我有一个Activity像下面的代码:

但是,onBackStackChanged()即使在成功用该方法替换片段后,也不会调用该switchFragment方法。

0 投票
1 回答
175 浏览

android - supportmapfragment.getFragmentManager() 中的奇怪空指针

我有一个应用程序,其中有一个列表,当您单击其中的项目时,我会显示一个详细视图,其中包含地图等。

这已经有一段时间了,但昨天我收到了一个奇怪的崩溃日志,这是我几个月前部署这个版本以来的第一个。根据崩溃报告,它在运行 4.4 的三星 Galaxy S4 上。

基本上它说

在 begintransaction 调用上引发 nullpointerexception,显然是因为前行的“getFragmentManager”返回 null。

我的 mapfragment 在父线性布局(带有列表的那个)中初始化,如下所示:

然后我直接打电话

并在该方法中初始化导致空指针的mapfragment:

我从来没有在我的任何测试单元上看到过这种情况,也没有在我的任何测试人员上看到过这种情况。我难住了。这与膨胀和查找碎片的时间有关吗?(我夸大 detailslayout 的原因是我不想这样做,除非有人真的想看到它,当他们这样做时,我想保留它并重新使用它,因为它,尤其是在速度较慢的手机上,是膨胀地图的成本相当高)。

发布此内容以查看是否有人可能知道何时会发生这种情况...

0 投票
1 回答
4065 浏览

android - “指定的孩子已经有一个父母。您必须先在孩子的父母上调用 removeView()”替换片段时

首先我想解释一下我的布局。它是“选项卡中的选项卡列表”,这意味着列表视图由选项卡控制,而选项卡列表由另一个选项卡控制。希望你能明白我的意思...

我的两个标签小部件:

(底部标签:主控制面板)

(列表选项卡:仅控制列表视图)

课堂上的代码ListPost(太长了,所以我删掉了关键部分)

FragmentProcess班级

当我单击列表视图元素时发生错误(显示为标题),这意味着替换片段。我做错了什么??

0 投票
0 回答
289 浏览

android - 试图从 fragmentManager 获取地图总是返回 null

我正在尝试做一个使用 ViewPager 的 android 应用程序。在第三页中,我有一个在片段的 xml 中实例化的地图:

因此,当我尝试在通过地图的 id 扩展片段的类的onStart()之后获取地图时,我得到一个NullPointerException

Debuggin 我发现 FragmentManager 正确地包含了 ViewPager 的五个片段,但其中的地图片段不存在。

知道如何正确获取地图吗?谢谢你。

编辑 我忘了说我在片段类的onCreate()中膨胀了包含地图的片段:

我运行后得到的logcat错误是下一个:

0 投票
2 回答
66 浏览

android - 如何从片段传递 fagment 管理器

我有一堂课:

另一个接受 FragmentManager 的类:

请任何人帮助我找出如何在 Fragment 中发送 FragmentManager 对象?

0 投票
3 回答
2153 浏览

android - 片段中的android谷歌地图 - 无法删除

在我的应用程序中,我试图删除地图片段 onDestroyView()。我正在使用支持 v4 库。我确定当我尝试删除地图时它崩溃了

布局.xml

但是当我这样做时,我有这个错误。

我已经搜索了很多,无法找到任何有用的东西。

有人可以帮我吗?

0 投票
1 回答
102 浏览

android - 在轮换等期间资源更改期间将 Android 会话信息保存在片段中

我开发了一个有四个选项卡的 Android 应用程序。其中两个选项卡用于访问 Sqlite 数据库中的数据,一个选项卡具有显示数据库内容的可滚动表,第四个选项卡显示进入设备的 GPS 数据,每 10 秒更新一次。到目前为止,该应用程序运行良好。以下是此应用程序中需要的 java 文件的列表和简要说明。

我也有DbAdapter.java档案

我正在存储设备资源更改期间的状态信息,(屏幕旋转、停靠等)我花了很多时间在线查看资源,最近开始了解onSaveInstanceState()onRestoreInstanceState().

问题:使用这个应用程序是一个不错onSaveInstanceState()onRestoreInstanceState()选择吗?onSaveInstanceState/是否onRestoreInstanceState仅在MainActivity或相关的 Tab 文件 ( Tab1-DataEntry, Tab2-DataEdit) 中实现?

0 投票
1 回答
933 浏览

android - Android - 从活动启动片段类

我有一个导航抽屉,滑动菜单中的每个声音都对应一个片段类,这是我的 LoginFragment 菜单声音:

该片段有一个指向注册活动的链接,如上所述,注册活动也有一个返回登录片段的链接。问题是登录页面不是我可以从意图开始的活动,而是一个片段。这是注册活动的代码:

这里有 XML:fragment_login.xml

registrazione.xml

日志猫:

帮我。另外,有没有更好的方法来组织所有的类、片段、活动等?