Fragment 变得可见时的侦听器

2023-12-30

我疯狂地尝试让 optionsMenu 为不同的视图提供不同的选项。如果在我的片段上调用 ​​onResume() 我可以让它工作,但事实并非如此。

我有一个 SherlockFragmentActivity,它在 onCreate 期间添加一个 SherlockFragment,如下所示:

if (getSupportFragmentManager().findFragmentById(android.R.id.content) == null) {
            Fragment f = LoginFragment.newInstance();

            getSupportFragmentManager()
                    .beginTransaction()
                    .add(android.R.id.content, f, "loginfragment")
                    .attach(f)
                    .commit();
        }

最终使用相同的方法在其之上添加另一个 SherlockFragment:

Fragment f = OfferListFragment.newInstance();
        getActivity().getSupportFragmentManager()
                .beginTransaction()
                .add(android.R.id.content, f, "offerList")
                .addToBackStack(f.getClass().getSimpleName())
                .commit();

最后,使用以下方法在顶部启动另一个 SherlockFragment:

AddOfferFragment newFragment = AddOfferFragment.newInstance(offer);

        getActivity()
                .getSupportFragmentManager()
                .beginTransaction()
                .add(android.R.id.content, newFragment, "addofferdialog")
                .addToBackStack(newFragment.getClass().getSimpleName())
                .commit();

我添加了 onResume() 事件,如下所示:

@Override
    public void onResume() {
        Log.e(TAG, "onResume");
        super.onResume();
    }

现在我明白了onResume logs when they are created, but when I pressBackfrom any of them, I don't get theonResume` 日志根本没有。我的选择之一是注销,这会消除所有视图,如下所示:

FragmentManager fm = getSupportFragmentManager();

        if (fm.getBackStackEntryCount() > 0) {
            fm.popBackStack(fm.getBackStackEntryAt(0).getName(), FragmentManager.POP_BACK_STACK_INCLUSIVE);
        }

但我什至没有在第一个片段上得到 onResume 。

由于片段透明的另一个问题here https://stackoverflow.com/questions/16575177/fragment-is-transparent-and-shows-activity-below(这可能是正常行为,我不确定)。 我想知道我添加片段的方式是否错误?

如果不是,还有什么问题?


正如 JonasSeputis 和 OP 本人所指出的,解决方案是改变transaction.add() to transaction.replace()

详细的解决方案在这里。 https://stackoverflow.com/questions/16575177/fragment-is-transparent-and-shows-activity-below

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Fragment 变得可见时的侦听器 的相关文章

  • 如何在Android上获取当前播放曲目的路径[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想编写一个应用程序将当前播放的音乐流式传输到另一台设备 两个设备之间的连接确实有效 我还可以通过 wifi 传输一些字符串 但在获取
  • 如何通过代码检测Android上的表情符号支持

    通过代码 我可以制作一个按钮 将这 3 个表情符号插入到文本中 不过 在许多手机上 当用户单击按钮时 问题是 显示为 X X X 或者更糟糕的是 它只显示三个空白空间 我想在无法正确显示表情符号的 Android 设备上禁用并隐藏我自己的内
  • 服务如何在后台运行 - Android

    今天的采访中我被问到了这个问题 什么是服务 我对此的回答是 Service 是 Android 的基本组件 它没有 UI 并且在后台运行 Service 是否在主线程上运行 不 那么它是如何在后台运行的呢 我心里一片空白 有人可以解释一下如
  • Android Widget ID 是否持久

    在从桌面删除该 Widget 实例之前 您从操作系统收到的用户桌面上特定 Widget 实例的 Widget ID 是否一致 我找不到任何明确说明这一点的文档 但我假设这是因为文档说您可以使用小部件 id 来存储任何实例配置信息 我想将一些
  • 如何使用具有三种布局的视图翻转器?

    我目前正在使用ViewFlipper我的主要活动有两种不同的布局 我想使用第三种布局 但我只能找到showNext and showPrevious 命令 有人可以告诉我如何使用来实现第三种布局吗ViewFlipper 为您制作了一个示例
  • 如何在 Android 中创建始终位于顶部的全屏覆盖 Activity

    我希望能够创建一个始终位于 Android 显示前面的 Activity 它不应该接收任何输入 只需将其传递到其下面的任何应用程序即可 像平视显示器之类的东西 我能够研究我需要将底层窗口类型设置为 TYPE SYSTEM ALERT 但看起
  • 新安装的Eclipse和Android SDK。无法让模拟器工作。挂在时钟屏幕上

    我对开发是全新的 我已经安装了 Eclipse 和 Andoid SDK 但是 我无法让模拟器工作 我已经尝试过示例记事本代码和 Hello Android 教程代码 每次我尝试运行任一应用程序时 它都会挂在时钟屏幕上 屏幕上还显示正在充电
  • 构建应用程序时出现 BufferOverflowException

    每次我想运行我的 Android 应用程序时 我都会收到错误 2013 11 02 13 05 36 Dex Loader Unable to execute dex java nio BufferOverflowException Che
  • MediaPlayer.create() 始终返回 null

    我以前用过媒体播放器 从来没有遇到过这个问题 每当我尝试使用 MediaPlayer create 时 该方法都会给我 null 并且我无法播放声音 我有什么遗漏的吗 public class Game extends Activity p
  • 使用 START_STICKY 启动时服务进程被终止后的 onStartCommand

    我一直在阅读 Android 文档 我想知道是否有人可以阐明当以 START STICKY 启动的服务的进程被终止时服务实例会发生什么情况 我假设本地状态数据 实例变量 也丢失了 Android 在重新创建服务时是否会采取任何措施来帮助重新
  • 在 Android 中使用 AES 加密的最佳实践是什么?

    我为什么问这个问题 我知道人们对 AES 加密存在很多疑问 即使对于 Android 也是如此 如果您在网络上搜索 会发现很多代码片段 但在每个页面上 在每个 Stack Overflow 问题中 我都发现了另一个具有重大差异的实现 所以我
  • MutableStateflow 值、更新、发出

    假设我有一个可变状态流 https kotlin github io kotlinx coroutines kotlinx coroutines core kotlinx coroutines flow mutable state flow
  • 通过配置更改保留 CoroutineScope 的干净方法,无需 ViewModel

    我知道建议是在我们的 Activity 中使用 ViewModel 这样我们就可以使用它viewModelScope 由于 ViewModel 的寿命比 Activity 的寿命长 因此我们不必取消以下作业activity onDestro
  • Android中如何使用intent加载本地html页面?

    我的 asset 目录中有一个 html 文件 我必须使用 Intent 将其加载为浏览器应用程序 这是我的代码 但它不起作用 startActivity new Intent Intent ACTION VIEW Uri parse fi
  • DialogFragment 关闭事件

    我需要处理 DialogFragment 的结尾 在调用 dismiss 之后 例如 我会在关闭后 包含 片段的活动内显示一个 toast 我该如何处理该事件 覆盖onDismiss 在你的DialogFragment中 或者使用setOn
  • Android 两个 Activity 之间的共享元素转换不起作用

    在我的应用程序中 我尝试使用新引入的活动之间共享的元素 如果共享元素具有固定位置 例如 android layout gravity top 但是当视图被锚定时问题就出现了 我的第一个活动如下所示
  • 致命异常:GoogleApiHandler

    在我的项目中 我使用货币化服务 Vungle AppLovin 当我尝试加载广告时 出现此异常 E AndroidRuntime 致命异常 GoogleApiHandler 进程 kz ikar PID 3673 java lang NoS
  • Android SDK WebView调用Activity

    我试图在单击 WebView 组件内的链接时启动活动 我的Webview已加载到里面Main java我想启动SubActivity java当点击网站内的链接时Main java 另外 如何将参数传递给此活动 Example inspec
  • 如何从另一个活动更新 Recyclerview 数据

    我有两个活动 MainActivity 和 Addlogactivity 我正在更新 Addlogactivity 中的数据 该数据应显示在 mainactivity recyclerview 中 数据未在数据库中更新 MianActivi
  • 使用 PDFBox 在 Android 中创建 PDF

    我正在尝试通过我的 Android 应用程序创建 PDFPDFBoxapi 但出现以下错误 java lang NoClassDefFoundError org apache pdfbox pdmodel PDDocument 我已经将以下

随机推荐

  • 创建 JObject C# 时删除双花括号

    我正在尝试使用下面提到的结构创建 JsonObject id 1 name XXX age 30 使用代码 dynamic sampleJson new JObject sampleJson Add id 1 sampleJson Add
  • 让我的 jQuery Ajax 脚本使用 CORS

    我构建了一个通过 AJAX 从外部网站读取数据的应用程序 它工作正常 但我在另一个中发现question https stackoverflow com a 10881561 773263如果我想使用 Webworks 或 Phonegap
  • 如何使用 shelf_web_socket 监听同一端口上的 http 和 ws 请求

    https pub dartlang org packages shelf web socket https pub dartlang org packages shelf web socket显示这个例子 import package s
  • 即使为空,复选框也会绑定(数据表控件)

    我需要将我的复选框绑定到某处 即使它为空 这样我就不会收到有关无效转换的错误 DataTable dt new DataTable dt Columns Add Name dt Columns Add DeleteFlag typeof b
  • 如何避免“IndexError:列表索引超出范围”错误?

    假设有一个名为 my list 和一个名为 的 int 变量list index 基本上 列表 my list 可能会随着时间而改变 因此 list index 可能会提高 IndexError list index out of rang
  • 如何使用 Dart 将剪贴板中的图像粘贴到 Canvas 元素上?

    我正在使用 Dart 开发个人白板 Chrome 应用程序 有时能够快速复制和粘贴图像 例如演示文稿中的幻灯片 图表或讲义 很有用 以便我可以在图像上添加注释在授课或进行演示时 如何将剪贴板上存储的图像粘贴到 Dart 中的画布元素上 实际
  • 无法启动浏览器进程!/usr/bin/chromium-browser'需要安装 chromium snap

    我正在尝试使用 puppeteer 的 api 它基本上有一个功能可以吸引我不和谐的用户 不太熟悉 puppeteer 所以介意我缺乏解释 做了一些研究并找到了一些解决方案 例如手动安装 chromium 这样做了 运行 puppeteer
  • 编译 gSOAP 客户端时未定义的引用

    我正在尝试使用 C 语言为 Web 服务创建客户端 我使用 wsdl2h 和soapcpp2 生成了 C 文件 在 netbeans 中 我将生成的文件和 gSOAP 包含目录添加到项目的包含目录中 我的主文件如下所示 include
  • 将 VSTO 部署到一个安装程序中

    我已经使用 ClickOnce 部署了 VSTO 应用程序 并得到了以下结果 这个安装程序工作得很好 然而 我真正想要的是一个安装程序 例如单个 exe 文件或单个 msi 文件 这样分发起来会很方便 我想我必须将所有 dll xml vs
  • 如何仅选择数值

    Table1 id 01 wire 02 steve ram123 03 从表1中我只想选择数值 它不应显示字母数字值 如 ram123 预期输出 01 02 03 如何查询这个条件 Try ISNUMERIC http msdn micr
  • C# 中 C++ const size_t 的等效项是什么?

    我正在尝试将一些 Ogre 代码转换为 C 版本 但遇到了一个问题 const size t nVertices 8 const size t vbufCount 3 2 nVertices float vertices vbufCount
  • 在Python中检查较长字符串中存在的模糊/近似子字符串?

    使用像leveinstein leveinstein或difflib 这样的算法 很容易找到近似匹配 gt gt gt import difflib gt gt gt difflib SequenceMatcher None amazing
  • 无法将 void* 动态转换为模板类

    我得到的确切错误是 无法将 object 类型为 void 动态转换为类型 class udDator int 源不是指向类的指针 这是在重写的运算符删除内部发生的 我正在尝试创建一个模板化内存管理类 它可以继承到任何其他类 通过引用管理内
  • Graphviz / PyGraphviz 中有向图的 NetworkX 风格弹簧模型布局

    NetworkX 主要用于图形分析 PyGraphviz 主要用于绘图 它们被设计为协同工作 然而 至少在一个方面 NetworkX 的图形绘制 通过 MatPlotLib 优于 PyGraphviz 的图形绘制 通过 Graphviz 即
  • Oracle 列别名中的双引号

    好吧 这是一个有点晦涩的问题 但希望有人能帮助我解决这个问题 我正在开发的系统构建了一个用于在存储过程中执行的动态 SQL 字符串 以及定义列别名的动态 SQL 的一部分 这些别名本身实际上是从用户生成的数据的另一个表中检索的值 因此 例如
  • 无限循环动画

    我正在尝试创建无限循环的动画 但遇到了一些麻烦 我正在使用这行代码 使我的视图 颤动 为红色 但是当我调用这一行时 它可以工作 但使我的用户界面无响应 UIView animateWithDuration 1 0f delay 0 0f o
  • 如何更改 Braintree 上的订阅期限?

    我想为我们使用 Braintree 的计费系统添加一些单元测试 但我不知道如何将订阅期从 1 个月 目前 Braintree 中的最小值 更改为 1 天 我等不及 1 个月来执行我的测试 有什么解决办法吗 我最近向 Braintree 支持
  • 如何检查哈希中是否存在特定密钥?

    我想检查会话哈希中是否存在 用户 密钥 我怎样才能做到这一点 请注意 我不想检查键的值是否为零 我只是想检查 用户 是否key存在 Hash s key 方法告诉您给定的密钥是否存在 session key user
  • 如果非最终字段的值可以更改,如何在匿名类中使用它们?

    我之前问过这个问题 但没有得到合适的答案 如果非最终字段的值可以更改 如何在匿名类中使用它们 class Foo private int i void bar i 10 Runnable runnable new Runnable publ
  • Fragment 变得可见时的侦听器

    我疯狂地尝试让 optionsMenu 为不同的视图提供不同的选项 如果在我的片段上调用 onResume 我可以让它工作 但事实并非如此 我有一个 SherlockFragmentActivity 它在 onCreate 期间添加一个 S