问题标签 [activity-finish]
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.
android - 如何完成处理程序的活动?
我正在从处理程序调用警报对话框。警报对话框有 2 个按钮“再次播放”和“退出”。我已经编写了代码来重新启动“再次播放”按钮中的活动。但是当我单击退出按钮时,我不知道如何完成应用程序。我不能从我的处理程序调用完成()。下面是我的代码。请任何人帮助我...
android - Finishactivity 没有完成活动?
我试图让我的活动关闭并返回结果,我的父活动中确实有 onActivityResult,并且我在其他地方使用了接近相同的方法。
从此菜单调用了此方法:
任何有任何好主意的人为什么不关闭?
android - Android onPause() 和设备倾斜
我正在尝试通过在 onPause 方法下调用 finish() 来结束我的所有 android 活动。现在这工作正常,直到我注意到当我倾斜设备(Galaxy 选项卡)时活动完成。所以我假设设备在水平或垂直倾斜时暂停活动并重新绘制它。这给我的计划带来了很大的麻烦。所以问题是,你如何在暂停时完成活动,而不是像倾斜设备这样的系统暂停。多谢你们。
android - Android - 完成活动并退出应用程序
我有一个包含 3 个活动的应用程序 - 让我们称它们为 A、B 和 C。从活动 A 您可以访问活动 B、从 B 到 C 以及从 C 到 A(通过按后退按钮)。
在活动 AI 上有一个退出按钮(我知道它在 android 上不推荐,但很多用户都在要求它,所以我决定添加它)。
无论如何,问题在于:活动 B 有一个计时器,当计时器完成时,它会启动一个启动活动 C 并在活动 B 上调用 finish() 的意图。
当用户然后按回活动 C 时,他会进入活动 A - 然后当他按下退出按钮(此按钮仅执行完成())时,它会再次弹出活动 B。我怎样才能防止它发生?
谢谢!
android - 你能完成()一个对象的活动吗?
我有一个代表我的活动的类和一个看起来像的对象
有没有办法做到这一点?
android - Android,单击对话框后退按钮时如何关闭应用程序?
在我的主要活动中,我调用了一个可取消的对话框。当用户在未连接到 Internet 时使用应用程序午餐时,我会显示此对话框。因此,我显示此对话框以要求他连接到 Internet。
此对话框没有按钮,我想在用户单击后退按钮时关闭应用程序。在onKeyDown()
方法中,我正在关闭应用程序(this.finish();
),但问题是当用户单击后退按钮时屏幕上显示对话框时,此对话框消失并显示我的主要活动。
似乎 onKeyDown() 只在主要活动中工作,而不是在对话框中工作。显示对话框并且用户单击后退按钮时如何关闭我的应用程序?
谢谢
=====> 更新
这是我的自定义对话框的代码:
java - 为什么完成()不立即退出处理?
在调用后不立即退出 Activity 很方便,是否有任何特殊情况finish()
?
(换句话说,为什么这个方法没有立即从设计中退出活动?)
http://developer.android.com/reference/android/app/Activity.html#finish()
更新
当我立即说时,我的意思是,您会及时调用finish()
,当然,使用保存实例包进行清理,onStop 和 onDestroy 方法不算在内。
看一个例子我在说什么,这里是片段
问题是,为什么条件之后的代码在结束活动之前也完成了,为什么finish()
调用没有立即停止处理
android - 完成对话框和活动
我有一个以 alertdialog 开头的活动
当我按下后退按钮时,只有对话框关闭。
我想关闭对话框和活动。
这该怎么做?
android - android:销毁的堆栈跟踪
我的应用程序主要活动正在被“破坏”。我在销毁中有一条正在打印的日志消息。但是调用完成的路径没有被执行。
所以我想知道如何找出要调用的触发破坏()。它是从我的代码中完成的,还是任何其他系统错误。
注意:回答:我为我的启动活动保留了 android:noHistory="true"。我希望此页面在其他活动的后按时不再可见。在破坏这项活动时,我已经像 db close 一样清理了所有东西。所以由于 nohistory = true,这个活动被自动销毁,导致所有资源关闭,从而导致我的应用程序出现异常。
我通过删除此标志并覆盖第二个活动的 onbackpressed 来纠正。
感谢您的回答
android - 在完成()之后活动未调用 onDestroy()
我有三项活动,我们称它们为一、二和三。从活动一开始,按下按钮开始活动二。从活动二,按下按钮开始活动三。
很简单。
现在,活动三需要一些可从应用程序访问的数据(可能存在也可能不存在)。在 THREE 的onResume()
方法中,对数据进行检查,如果不存在,则活动完成,如下所示:
时data == null
,三完成,销毁并返回二。一切都很好。现在在 TWO 中,按下后退按钮调用finish()
TWO,但 TWO 从不调用onDestroy()
。用户返回到 ONE 就好了,但是任何随后返回到 TWO 的意图都不起作用,并且不会引发任何错误。TWO 处于已完成(并暂停)但从未销毁的状态,因此无法恢复。
那么,在这种情况下,为什么“三”很重要?如果我删除finish()
上面代码块中的调用,并依靠“自然”完成三(通过使用后退按钮),当用户回到一时,二已被正确销毁。
好的,这就是真正令人困惑的地方......
将通话留finish()
在原地,我可以通过直接从 ONE 启动 THREE 来缓解挂断,然后“自然”完成它(后退按钮)。THREE 被销毁(第二次)后,TWO 按预期打开。
我读过的所有内容都说我应该可以finish()
参加onResume()
活动。但在这种情况下,它会使某些东西处于不良状态,并阻止我破坏调用活动。
想法?还是我把你的大脑翻过来了?
编辑:
进一步的探索发现了这颗宝石......
用大约 500 毫秒的处理程序包围finish()
THREE 中的呼叫postDelay()
将允许 TWO 按预期关闭。像这样:
不完全是我的修复想法......