- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在用户执行不同操作时动态地向/从我的 FragmentManager
添加/删除 DialogFragments
。问题是 FragmentManager
没有正确删除所有这些。我正在调用 remove()
函数,所以我很好奇为什么这些 Fragments
没有被删除。我在网上搜索过,remove 方法是人们所说的从 FragmentManager
中删除 Fragments
的方法。
下面的示例代码展示了我在做什么:
// originally added `LoginRestFragment` with TAG_LOGIN_REST_FRAGMENT tag to Fragment Manager
rest = new SettingsDialogFragment();
FragmentManager fm = getFragmentManager();
rest.setArguments(bundle);
Fragment fragment = fm.findFragmentByTag(TAG_LOGIN_REST_FRAGMENT);
Log.d("frag_type", fragment.toString());
fm.beginTransaction().remove(fragment).commit();
fragment = fm.findFragmentByTag(TAG_LOGIN_REST_FRAGMENT);
Log.d("is_frag_removed", fragment.toString());
// why does this return a Fragment type ^^ shouldn't it throw null errror?
Log.d("rest", rest.toString());
// ^ this shows rest has been updated from LoginRestFrament to SettingsDialogFragment
fm.beginTransaction().add(rest, TAG_LOGIN_REST_FRAGMENT).commit();
fragment = fm.findFragmentByTag(TAG_LOGIN_REST_FRAGMENT);
Log.d("frag_type", fragment.toString());
// why is this not SettingsDialogFragment??
显示所代表内容的日志语句。我应该注意到,屏幕上显示的不再是 LoginRestFragment,而是 SettingsDialogFragment
(正如预期的那样),rest 是一个类变量。
D/frag_type: LoginRestFragment
D/is_frag_removed: LoginRestFragment
D/rest: SettingsDialogFragment
D/frag_type: LoginRestFragment
最佳答案
谢谢 DeeV!你说的是真的,这就是我如何找到解决这个问题的方法,这在 this 中得到了回答。 StackOverflow 条目。您基本上可以在 FragmentManager
上使用 executePendingTransactions()
来动态提交。
关于android - FragmentManager 不删除动态添加的 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39171604/
我正在尝试在使用 androidX 的应用中进行设置。 我的问题是,当我尝试使用 PlaceAutocompleteFragment 时出现错误,因为它是来自 android.app.fragment
是否有人注意到 Android 11 的生命周期发生了任何明显的变化? 我的应用程序在 Android 11 之前的操作系统上运行良好,但在我的 Pixel 4 上每次都因错误而崩溃: E/Andro
我只是将项目移至androidX。我使用android studio refactor-> upgrade到androidX。 TargetSDK已经28岁了,并且工作正常。所以没想到会有很多错误。但
我正在学习 Android 开发。我卡在了本应非常简单的事情上。 我正在创建一个包含一个 Activity、2 个 fragment 和 1 个界面的应用。 android:minSdkVersion
我正在尝试获取一个对话框来警告用户应以横向模式查看屏幕。我有一个对话框类和我的 Activity 调用该对话框,但它提示 show(FragmentManager, String) 不适用于 show
我有一些嵌套的 fragment ,我想在 FragmentTabHost 内显示一个 Fragment。 在 FragmentTabHost setup(...) 方法中,第二个参数应该是 Frag
伙计们。 我为 Android API 14 及更高版本开发了一个应用程序,但我想使用 Android 支持库中的 ViewPager。 ViewPager 需要在构造函数中使用 android.su
FragmentManager manager = getFragmentManager(); 报错 required : android:support.v4.FragmentManager fou
我正在使用平板电脑的 Fragments 创建一个应用程序。到目前为止,我已经在左侧创建了一些按钮,并且在单击按钮时会出现 fragment 。 但我的 MainActivity.java 文件出现错
错误 错误类型不兼容:android.app.FragmentManager 无法转换为 android.support.v4.app.FragmentManager 让我抓狂。 在我的应用程序中,我
我收到以下错误 Type mismatch: cannot convert from android.app.FragmentManager to android.support.v4.app.Fra
编辑:这似乎只发生在我之前的 Activity 是横向的,并且 setRequestedOrientation() 是纵向的,这可能是什么问题? 我在一个 Activity 中有一个代码,它启动一个对
获取不兼容类型的 FragmentManager 的持续错误。需要支持库才能工作,但无法弄清楚。 Android Studio 说它需要支持导入,该支持导入就在那里,但找到了 androidx 导入。
更新: 我认为泄漏来自 getActivity().getSupportLoaderManager().restartLoader(getLoaderId(), null, this);我的对象实现
我尝试创建一个 Android 应用程序。在 Android Studio 中使用选项卡。我遇到了以下问题:我的所有 fragment 导入都导致了错误 Cannot Resolve Symbol '
使用我的 Fragment 类中的这段代码: FragmentManager fm = getFragmentManager(); 我得到了空值。为什么?我在android doc中找到了那句话: N
有没有办法从应用程序上下文中获取 FragmentManager?我想使用 ImageLoader 或 BitmapFun 来存储我从服务器下载的一些位图。这两个类都需要 FragmentManage
我对 FragmentManager 后台堆栈背后的基本原理有点困惑。 鉴于一个 Activity 有两个用于容纳不同 fragment 的容器:问题是当使用 fragment 事务将 fragmen
所以我在将 ViewPager 与 FragmentStatePagerAdapter 一起使用时遇到了这个问题然后我试图选择当前页面(即向用户显示第二页而不是第一页)我不时得到这个异常. 问题似乎是
在我的应用程序中有一个FrameLayout,我在上面添加了各种 fragment FragmentManager fm = getSupportFragmentManager(); Fragment
我是一名优秀的程序员,十分优秀!