- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在我的 Activity 中,我经常使用这个成语:
@Override
public void onDestroy() {
super.onDestroy();
if (isFinishing() != true) return;
// do some final cleanup since we're going away for good
}
Fragment 有一个 onDestroy()
方法,但是 isFinishing()
的等价物是什么?我应该从 fragment 的 onDestroy()
中检查 getActivity().isFinishing()
吗?
编辑添加:
这是我在各种情况下得到的回调(按顺序),以及 getActivity()
是否返回 null 或非 null,如果非 null,则返回 getActivity 的值().isFinishing()
:
场景 #1:DialogFragment
正在显示并且用户点击返回按钮(即需要释放引用):
onDismiss(): activity = non-null, finishing = false
onDestroy(): activity = non-null, finishing = false
场景 #2:DialogFragment
正在显示并且父 Activity 完成(即需要释放引用):
onDestroy(): activity = non-null, finishing = true
onDismiss(): activity = null, finishing = n/a
场景 #3:DialogFragment
正在显示,操作系统暂时破坏父 Activity (即不应释放引用):
onDestroy(): activity = non-null, finishing = false
onDismiss(): activity = null, finishing = n/a
最佳答案
fragment 有一个名为 isRemoving()
的方法当从 Activity 中移除 fragment 时,这是真的:
Return true if this fragment is currently being removed from its activity. This is not whether its activity is finishing, but rather whether it is in the process of being removed from its activity.
关于android - Activity.isFinishing() 的 fragment 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25450763/
当调用 FragmentManager 时,我收到一条错误消息,指出 Activity 已被销毁。在进行事务调用之前是否检查 FragmentManager 可以执行,或者我是否需要获取 Activi
在阅读了 http://developer.android.com/reference/android/app/Activity.html 上关于 isFinishing() 的 Android 文档
我正在尝试使用操作将数据保存到 plist 文件。我想实现异步保存,所以我重写了 start()但是,当我尝试检查保存是否已完成时,isFinished 仍然为 false。但是数据已成功保存,正如我
我想清除从服务器下载照片并使用 disklrucache 的 Activity 的缓存。和 lrucache存储它们将我的 Activity 是活跃的。我希望当用户离开此 Activity 时清除缓存
概览 有异步操作子类 将此操作添加到队列中。 我在开始之前取消了这个操作。 运行时错误/警告: SomeOperation isFinished=YES 没有被它所在的队列启动 问题: 这是可以忽略的
我在 Swift 中对 NSOperation 进行子类化,并且需要覆盖 isExecuting 和 isFinished 属性,因为我正在覆盖 start 方法。 我遇到的问题是如何在保留键值观察
每次我的应用程序启动或退出事件时,我都会创建一个 NSOperation。我需要使用依赖项将它们排入队列,以便两个永远不会同时执行,而是一个接一个地执行。 这样做安全吗? 在 App Delegate
如果这个问题听起来非常基础,我们深表歉意。我有一个具有异步网络回调的 Activity。回调可以在用户离开 Activity 后执行。 作为检查,我想使用 isFinishing()(我不能使用 is
在显示对话框之前,我检查 Activity 是否正在完成以避免应用程序崩溃。 if(!activity.isFinishing()){ showDialog(); } 但在某些情况下,它会返回
在这个简单的代码 (Xcode 8.3) 中,我创建了一个 Operation 子类实例,注册了它的 isFinished 属性的 KVO 观察,并通过将它添加到我的队列来启动操作: class My
在我的 Activity 中,我经常使用这个成语: @Override public void onDestroy() { super.onDestroy(); if (isFinis
我正在尝试调整 HttpServletRequestWrapper(参见 How to read InputStream multiple times),以便在过滤器中使用 HTTP Post 正文后
我正在尝试使用 NSOperations 拆分我的程序流。我正在使用 Parse 框架制作一个简单的消息传递应用程序。我想显示一些消息,然后删除它们。除非删除操作完成,否则不应调用显示消息,因此我想尝
我有一个发出 finished() 信号的 QThread,但它的 isFinished() 返回 False。这是为什么?如何知道 isFinished 何时开始返回 True? from __fu
我有一个 NSOperation 子类,它从 UITableView 运行异步操作。 我像这样覆盖正确的开始和结束方法: - (void)start { [self willChangeVal
示范 - (void)test_NSOperationCallsCompletionBlockWhenFinished { __block BOOL flag = NO; NSOper
我正在阅读《Android 游戏入门,第 2 版》这本书。 第129页说 '在 onPause() 中,我们只是暂停我们的主循环线程,如果Activity.isFinishing() 返回 true,
我必须在我的应用程序完成运行后清除一些应用程序数据。据我所知,onDestroy() 可能不会被调用。所以我决定检查根 Activity 的 onPause() 中的 isFinishing() ==
下面是我的 qthread 实现的代码。我正在尝试从卫星获取 gps 数据。即使程序退出 gpsSearch() 槽函数,QThread 也不会产生 finished() 信号。每当单击按钮时,都会调
如果用户仍在当前 Activity 中,我有一个需要显示的弹出窗口,几秒钟后。我实现了 stament 检查 Activity 是否未完成/销毁然后显示弹出窗口,它工作正常,周末用户 :)(从一个 A
我是一名优秀的程序员,十分优秀!