问题标签 [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 投票
2 回答
6968 浏览

android - 来自应用程序上下文的 FragmentManager

有没有办法从应用程序上下文中获取 FragmentManager?我想使用 ImageLoader 或 BitmapFun 来存储我从服务器下载的一些位图。这两个类都需要一个 FragmentManager 用于在配置更改(例如方向更改)时保留缓存。就我而言,我想在我真正“需要”它们之前预先下载图像。

0 投票
0 回答
1178 浏览

android - FragmentManager 替换片段而不为旧片段调用 onPause() onDestroy()

在我的应用程序中,我有一个左侧菜单,用于Fragment控制. 上面我有在新 GMAIL 中使用的新组件只在一个中被刷新。FragmentViewMainActivityFragmentViewPullToRefreshFragment

在此处输入图像描述

如果我Fragment用另一个替换它,我想停止刷新它。

我希望FragmentManager坚持传统的FragmentLifeCycle之后,我决定停止在、或方法中的PullToRefresh组件。不幸的是,这些方法从未被调用来替换. 只有当我从左侧菜单中选择了相同的片段时,它们才会被替换。onPauseonDestroyonStoponDetach()Fragment

这意味着,FragmentManager除非我试图用来自同一类型的另一个片段替换片段,否则它正在缓存片段并且不会破坏它们。

我的问题是,如果在另一个片段上替换或添加新片段,片段生命周期是什么FragmentManager

如果我想在用另一个片段替换片段时停止它,我应该在哪里停止我的 PullToRerfesh 组件?

0 投票
1 回答
681 浏览

android - 没有支持库的 BetterPickers

我正在使用https://github.com/derekbrameyer/android-betterpickers为我的应用程序使用时间和日期选择器。但是,我的应用程序不需要支持库,似乎在将 FragmentManager 设置为 Time- 和 DatePickerBuilder 时我需要 SupportFragmentManager :/ 有没有办法避免支持库?

0 投票
4 回答
34278 浏览

android - android.support.v4.app.FragmentManager 还是 android.app.FragmentManager?

我正在学习Android开发。我被困在应该很容易的事情上。

我正在创建一个具有一个 Activity、2 个片段和 1 个界面的应用程序。

因此,在主要活动中,我尝试使用管理器创建对片段 B 的引用。我被困在这里,因为 Eclispse 告诉我要改变一些事情(见下文):

我的意图:`

如果我这样做,我会收到错误消息并需要执行一些更改。更改后的代码如下所示(我仍然无法到达 FragmentB):

有关更多详细信息,我还将在此处放置 Activity 的导入标头:

我在这里想念什么?整个 support.v4 /support.v7 对新手来说有点混乱。

编辑:更改为:

并扩展 FragmentActivity 我仍然无法创建对 FragmentB 的引用:

}

根据要求,我发布了 FragmentB 代码:

主要 XML

0 投票
0 回答
174 浏览

android - 使用片段管理器添加/删除片段时保存/恢复片段的状态

我有一个包含几个片段的活动,这些片段是动态添加和删除的。我注意到每次添加一个片段时fragmentManager.beginTransaction().add(containerViewId, fragment, tag).commit(),片段的方法中收到的 BundleonCreateView(LayoutInflater, ViewGroup, Bundle)null,并且在调用时fragmentManager.beginTrasaction().remove(fragment).commit(),没有调用 frament 的方法 `onSaveInstanceState(Bunlde)。

那么有没有办法在使用片段管理器添加/删除片段时让片段保存/恢复其状态?

如果片段被保留,那么BundleinonCreateView总是null

0 投票
1 回答
537 浏览

android - IllegalStateException Activity 已被销毁 - 三重嵌套片段

我有一个Fragment,我们称它为...F1包含一个Fragment F2; 其中又包含一个Fragment F3.

当我启动我的应用程序时,我收到此错误:

它指的是这行代码:

我的小学上层fragmentcontainer里的a在哪里。放在's内的位置。FrameLayoutFragment F1F2F1fragmentcontainer

关于如何解决这个问题的任何想法;我尝试进行搜索,其他结果说要硬编码一个Fragment字段并立即分配它,但这也没有解决问题。

0 投票
1 回答
73 浏览

android - 改变片段动态

我有 2 个问题。首先,我可以说某人,为什么这不起作用?我只是试图改变片段,但他什么也没做。我只看到第一个片段。

主要活动:

main.xml 中这样的片段:

片段类只有这个:

Fragment 看起来像这样:

我不知道,为什么他不改变片段。检查一下,switchFragment 真正调用的是真的。

第二个问题是:这是改变碎片的好方法吗?什么是,如果我有 10 个片段?

谢谢你的帮助!:)

0 投票
1 回答
126 浏览

android - 更改片段破坏我的布局

有人可以帮我解决以下问题:我只是希望,当我单击一个按钮时,中间的片段会发生变化:正常布局

但是,如果我单击一个,则会发生这种情况: 狗屎布局

有谁知道,有什么问题吗?

我的片段只是简单的 LineaLayouts,里面有一个文本字段。我的 Main.xml 看起来像这样:

要更改片段,我使用此调用:

非常感谢!!

0 投票
1 回答
3370 浏览

android - 在片段中按回时列表视图重新加载

我有片段 XYZFragment,我在其中显示列表视图。在 Listview 项目上单击我像这样替换片段。

但我的问题是当我单击返回按钮时,片段会重新加载列表视图。当我使用 Activity 时,它永远不会发生。所以我的问题是如何保存前一个片段的实例,以防止重新加载数据。

0 投票
6 回答
36207 浏览

android - FragmentManager popBackStack 不删除片段

我正在使用 Fragments 实现菜单导航。所以我从主页开始,然后用户可以导航到不同的部分和每个部分的详细信息。

当用户更改部分时,我在 fragmentmanager backstack 上调用 pop 直到我到达 Home,然后加载新部分。

这一切都按预期工作。但我遇到了这个问题:

  1. 在 onResume() 上加载调用 setHasOptionsMenu(true) 的部分
  2. 加载另一个部分(它应该从堆栈中取出的旧部分)。我看还行。没有显示菜单
  3. 离开应用程序(例如,转到 Android Laucher 活动),然后当我返回时,我看到了正确的部分,但它显示的是旧片段的菜单。

我已经迭代了 backstack 并打印了每个片段,它不是带有菜单的片段。

我在 onResume() 方法(标记的地方)上放了一个调试标记setHasOptionsMenu(true),它确实进入了这里,所以 Fragment 它仍然在某个地方。

我想知道我是否做错了什么以及如何解决它,谢谢

更新:

我正在使用此代码加载新片段

并删除:

注意 1:我使用 add 而不是 replace 因为我不想在从详细信息部分返回时丢失片段的状态。当我加载另一个不同的部分时,我调用 clearStack 将堆栈弹出到 1,然后加载新片段。最后,我调用 executePendingTransactions() 来完成从事务中删除片段。

注意 2:我看到它正在进入我的片段 onDestroy() 方法,因此它应该被销毁。但我不知道为什么在 Main 活动恢复时它会再次被调用。