首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当用户按下“后退”按钮时,将忽略setResult

是指在Android开发中,当用户在一个Activity中按下系统的返回按钮时,Activity会自动调用onBackPressed()方法,该方法默认实现是关闭当前Activity并返回上一个Activity。在这种情况下,如果在当前Activity中使用了setResult()方法设置了结果数据,按下返回按钮后将会忽略setResult()方法的调用,不会将结果数据传递给上一个Activity。

这种情况通常发生在需要在当前Activity中处理返回按钮事件的情况下,例如在一个表单填写页面中,用户按下返回按钮时需要提示用户是否保存未提交的数据。如果在这种情况下调用了setResult()方法设置了结果数据,按下返回按钮后将会忽略该结果数据,因为默认的返回按钮事件会直接关闭当前Activity。

在这种情况下,开发者可以通过重写onBackPressed()方法来处理返回按钮事件,并在需要的时候手动调用setResult()方法设置结果数据。例如,可以在用户按下返回按钮时弹出一个对话框询问用户是否保存数据,如果用户选择保存,则调用setResult()方法设置结果数据,并关闭当前Activity;如果用户选择不保存,则直接关闭当前Activity。

腾讯云相关产品中,与Android开发相关的产品包括腾讯移动推送(https://cloud.tencent.com/product/tpns)和腾讯移动分析(https://cloud.tencent.com/product/mta),它们可以帮助开发者实现消息推送和应用数据分析等功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

防止用户表单重复提交的方法 原

表单重复提交是在多用户Web应用中最常见、带来很多麻烦的一个问题。有很多的应用场景都会遇到重复提交问题,比如: 点击提交按钮两次。 点击刷新按钮。...使用浏览器后退按钮重复之前的操作,导致重复提交表单。 使用浏览器历史记录重复提交表单。 浏览器重复的HTTP请求。   几种防止表单重复提交的方法 1.禁掉提交按钮。...表单提交后使用JavaScript使提交按钮disable。这种方法防止心急的用户多次点击按钮。但有个问题,如果客户端把Javascript给禁止掉,这种方法就无效了。   ...这能避免用户F5导致的重复提交,而其也不会出现浏览器表单重复提交的警告,也能消除浏览器前进和后退导致的同样问题。 3.在session中存放一个特殊标志。...表单页面被请求,生成一个特殊的字符标志串,存在session中,同时放在表单的隐藏域里。接受处理表单数据,检查标识字串是否存在,并立即从session中删除它,然后正常处理数据。

1.9K20

JSP 防止网页刷新重复提交数据

网页如何防止刷新重复提交与如何防止后退的解决方法 提交后禁用提交按钮(大部分人都是这样做的) 如果客户提交后,F5刷新怎么办?...点击后退按钮,再点击后退按钮,你可以看到这时打开的是本页面之前的页面!(当然,这是在你的客户端启用了JavaScript功能的条件。) 如果客户后退,怎么办?...后来,看到竟然有那么多的人想要禁用这个后退按钮,我也就释然(想要禁用的只有后退按钮,不包括浏览器的前进按钮)。因为在默认情况用户提交表单之后可以通过后退按钮返回表单页面(而不是使用“编辑”按钮!)...由于浏览器不再缓存这个页面,当用户点击后退按钮浏览器重新下载该页面,此时程序就可以检查那个会话变量,看看是否应该允许用户打开这个页面。        ...不过我注意到,如果使用这种方法,虽然用户点击一后退按钮他不会看到以前输入数据的页面,但只要点击两次就可以,这可不是我们希望的效果,因为很多时候,固执的用户总是能够找到绕过预防措施的办法。

11.5K20

Android项目实战(十一):moveTaskToBack(boolean ) 方法的使用

当你开发的程序被后退键退出的时候, 你肯定不想让他就这么被finish()吧,那么就想把程序退置到后台就可。...类似于PC端,你关闭一个浏览器和你最小化一个浏览器的区别) 参看方法:public boolean moveTaskToBack(boolean nonRoot) 参数是一个布尔值 1、false,仅activity...为task根(即首个activity例如启动activity之类的)才生效 2、true,无论什么时候都会生效,忽略上述条件 注意:此方法不会改变task中的activity中的顺序,效果基本等同于home...---------------------------------------------------------------------------------- 例如: 在根Activity中重写后退按钮响应事件...,后退按钮的时候把Activity退置到后台 1 @Override 2 public boolean onKeyDown(int keyCode, KeyEvent event) { 3

1.5K50

搜索功能实现遇到的那些坑

当我们在 input 输入内容,就会通过 onChange 事件触发请求,返回结果保存到 resulte 变量并输出到页面上。...我们可以做一优化。 防抖 首先我们要对请求做 防抖,就是要用户在停止输入后再等待特定的时间,才发送请求。如果在这段时间内用户再次输入了内容,则重新开始等待。...这种方案发起请求其实是在用户回车或点击 “搜索” 按钮触发了,和本文讨论的场景不同。 上一个请求结果覆盖下一个的问题 看起来貌似没啥问题了,但其实我们还忽略了一个问题,就是网络不稳定的场景。...返回请求结果,如果 currReqId 和 lastReqId 相同才继续执行接下来的逻辑;如果不等,就丢弃。...完整线上 Demo: https://codesandbox.io/s/whw2q1 结尾 总结一,对于输入过程中就请求搜索结果的场景,我们需要做两个特殊处理: 使用防抖,减少一些不必要的请求; 最后一次请求之外的请求结果丢弃

75230

教育系统APP(二)

file 项目实操 注册界面主要用于输入用户注册信息,在注册界面中用户需要输入用户名、密码、再次输入密码,点击“注册”按钮进行注册。...--android:state_pressed="true"为是否,如一个按钮触摸或者点击--> <item android:drawable="@drawable/iv_back_selected...(RESULT_OK, data); //RESULT_OK为Activity系统常量,状态码为-1, //表示此页面<em>下</em>的内容操作成功<em>将</em>data返回到上一页面,如果是用back返回过去的则不存在用<em>setResult</em>...“登录”<em>按钮</em><em>时</em>需要在ShatredPreferences中查询输入的<em>用户</em>名是否有对应的密码,如果有则用此密码与当前输入的密码(需要MD5加密)进行比对,如果信息一致,则登录成功,并吧登录成功的状态和<em>用户</em>名保存到

1K10

ionic监听android返回键实现“再按一次退出”功能

在android平台上的app,在主页面时经常会遇到“再按一次退出app”的功能,避免只返回键就退出app提升体验优化。...1、这个功能需要我们用到ionic提供的registerBackButtonAction方法(注册硬件后退按钮动作) registerBackButtonAction(callback, priority..., [actionId]) 参数 类型 说明 callback function 点击返回按钮触发,如果该监视器具有最高的优先级 priority number 仅最高优先级的会执行 actionId...如果我们不想注册返回按钮影响所有页面,就要将返回函数再调用。 例如:如果一个上拉菜单已经显示,后退按钮应该关闭上拉菜单,而不是返回一个页面视图或关闭一个打开的模型。..., 返回键,给予提示,如果在2s内再次出发返回键,就退出app function showTipMsg() { window.plugins.toast.showShortCenter("

1.8K20

AndroidStdio1_5

这时候你可能会问,如果用户在SecondActivity中并不是通过点击按钮,而是通过Back键回到FirstActivity,这样数据不就没法返回了吗?...这样的话,当用户Back键,就会去执行onBackPressed()方法中的代码,我们在这里添加返回数据的逻辑就行了。...而每当我们Back键或调用finish()方法去销毁一个活动,处于栈顶的活动会出栈,这时前一个入栈的活动就会重新处于栈顶的位置。系统总是会显示处于栈顶的活动给用户。...1.运行状态 一个活动位于返回栈的栈顶,这时活动就处于运行状态。系统最不愿意回收的就是处于运行状态的活动,因为这会带来非常差的用户体验。...系统仍然会为这种活动保存相应的状态和成员变量,但是这并不是完全可靠的,其他地方需要内存,处于停止状态的活动有可能会被系统回收。 4.销毁状态 一个活动从返回栈中移除后就变成了销毁状态。

61730

【Android从零单排系列三十五】《Android四大组件——Activity》

可见性阶段: onStart():Activity变得可见但还无法与用户交互时调用。此时Activity仍然位于前台,但未获得焦点。...onStop():Activity完全不可见时调用,比如另一个Activity覆盖在其上面,或者下了返回键回到了上一个Activity。在此方法内可以执行一些释放资源的操作。...需要注意的是,系统资源不足或内存紧张,可能会触发Activity的销毁和重建,这时会调用相应的生命周期方法。...Activity返回的结果,可以使用startActivityForResult()方法启动,并在目标Activity中调用setResult()方法设置返回结果。...(Activity.RESULT_OK, resultIntent); finish(); SingleTop模式: 要启动的Activity已经位于任务栈栈顶,会复用该Activity实例,调用其

20510

HTML5 简介(三):利用 History API 无刷新更改地址栏

栈是一种后进先出的结构,可以把它想象成一摞盘子,用户每点开一个新网页,都会在上面加一个新盘子,叫「入栈」。用户每次点击「后退按钮都会取走最上面的那个盘子,叫做「出栈」。...当前基本上所有浏览器都会忽略这个参数。 一个字符串,代表新页面的相对地址。...「前进」、「后退按钮,就会触发popstate事件。...但是如果仅仅这样,地址栏是不会改变的,用户无法前进、后退,也无法收藏当前页面或者把当前页面分享给他人;搜索引擎抓取也有困难。这时,就可以使用 HTML5 的 History API 来解决这个问题。...为了处理用户前进、后退,我们监听popstate事件。当用户点击前进或后退按钮,浏览器地址自动被转换成相应的地址,同时popstate事件发生。

2.2K10

js监听手机端点击物理返回键或js监听pc端点击浏览器返回键

之前在项目中遇到一个问题,就是在微信网页上面本来是有返回按钮的,但是大多数人都为了方便,会使用安卓手机自带的物理返回键,这个返回键后,就会按照你浏览器的栈存储的路径来一层一层返回,就不执行你页面上的那个返回按钮的操作了...; onpopstate被触发,检查event.state是否等于STATE,如果相等,表示页面发生了后退返回键或者浏览器的后退按钮),则把这次行为当作是返回键被下了(把点击浏览器的后退按钮也误算进来了...这样下次会继续监听那个物理返回键,否则下次你再点击那个返回键的话,就会直接返回浏览器的栈的上一级 不过这个方法有些缺陷: 如果项目本身使用了pushState,则历史记录会有瑕疵(多了一个历史); 浏览器的后退按钮点击以及调用...history.back()也会被当成下了返回键。..., content:'确认后,返回', onConfirm () {

9.3K10

Matplotlib 中文用户指南 7.1 交互式导航

当你释放它,你的点处的数据移动到你释放的点。 如果在平移时'x'或'y',移动会分别限制在x或y轴。 鼠标右键并将其拖动到新位置来进行缩放。...Zoom-to-rectangle(缩放到矩形)按钮 单击此工具栏按钮以激活此模式。 鼠标放在轴域的某处,然后鼠标左键。 在按住按钮的同时拖动鼠标到新位置并释放。...+ w 平移/缩放限制于x轴 使用鼠标平移/缩放按住x 平移/缩放限制于y轴 使用鼠标平移/缩放按住y 保留宽高比 使用鼠标平移/缩放按住CONTROL 切换网格 鼠标在轴域上g 切换...x轴刻度(对数/线性) 鼠标在轴域上L或k 切换y轴刻度(对数/线性) 鼠标在轴域上l 如果你使用matplotlib.pyplot,则会为每个图形自动创建工具栏。...如果你正在编写自己的用户界面代码,则可以工具栏添加为窗口小部件。

2.1K20

Flutter中如何使用WillPopScope

老孟导读:在Flutter中如何实现点击2次Back按钮退出App,如何实现App中多个Route(路由),如何实现Back按钮只退出指定页面,此篇文章告诉你。...点击将会回到前一个页面,在Android手机上点击实体(虚拟)返回按钮,也将会回到前一个页面,此功能对于iOS程序员来说可能特别容易忽略。...询问用户是否退出 在Android App中最开始的页面点击后退按钮,默认会关闭当前activity并回到桌面,我们希望此时弹出对话框或者给出提示“再次点击退出”,避免用户的误操作。...在Android App中最开始的页面点击后退按钮,默认会关闭当前activity并回到桌面,我们希望此时弹出对话框或者给出提示“再次点击退出”,避免用户的误操作。...true; } }, child: Container( alignment: Alignment.center, child: Text('点击后退按钮

1.4K20

phonegap入门实战

项目   我们就带大家来感受一创建一个自己的phonegap程序,实现功能很简单就是点击返回按钮,弹出“hello world”。 1.在系统中,首先转到root目录,这就是我们要创建项目的目录。...对于我们操作手机也是一样,点击后退按钮Home键、电池电量低等等。   事件有系统事件和用户事件。系统事件由系统激发,如时间每隔24小,银行储户的存款日期增加一天。...用户事件由用户激发,如用户点击按钮,在文本框中显示特定的文本。事件驱动控件执行某项功能。   触发事件的对象称为事件发送者;接收事件的对象称为事件接收者。   ...backbutton   PhoneGap拦截返回键,这个功能是当用户返回键时事件触发。...function onBackKeyDown() { //在这里面写我们自己的代码 } menubutton   PhoneGap拦截菜单键,这个功能是当用户下菜单键时事件触发

1.5K20

iOS 11 更大的导航 (官方翻译版)

显示新屏幕,通常标有前一屏幕标题的后退按钮出现在栏的左侧。有时,导航栏的右侧包含一个控件,如编辑或完成按钮,用于管理活动视图中的内容。在拆分视图中,导航栏可能会出现在拆分视图的单个窗格中。...导航栏是半透明的,可能具有背景色调,并且可以配置为在屏幕上键入屏幕隐藏,发生手势或视图调整大小。 ? 考虑在显示全屏内容暂时隐藏导航栏。您想关注内容,导航栏可能会分散注意力。...在大多数情况,标题可帮助人们了解他们正在查看的内容。但是,如果导航栏标题似乎是多余的,可以标题留空。例如,Notes不会为当前注释标题,因为第一行内容提供了所需的所有上下文。 ?...大标题 您需要特别强调上下文,请使用较大的标题。在一些应用程序中,大标题的大胆大胆的文字可以帮助人们浏览和搜索。例如,在标签布局中,大标题可以帮助澄清活动选项卡,并在用户滚动到顶部通知用户。...后退按钮总是执行单个操作 - 返回到上一个屏幕。如果您认为在没有当前屏幕的完整路径的情况,人们可能会迷失方向,请考虑对应用程序的层次结构进行展平。 给文本标题按钮足够的空间。

2.9K30

Flutter中如何使用WillPopScope的示例代码

在Flutter中如何实现点击2次Back按钮退出App,如何实现App中多个Route(路由),如何实现Back按钮只退出指定页面,此篇文章告诉你。...,在Android手机上点击实体(虚拟)返回按钮,也将会回到前一个页面,此功能对于iOS程序员来说可能特别容易忽略。...询问用户是否退出 在Android App中最开始的页面点击后退按钮,默认会关闭当前activity并回到桌面,我们希望此时弹出对话框或者给出提示“再次点击退出”,避免用户的误操作。...context).pop(false)), ])), child: Container( alignment: Alignment.center, child: Text('点击后退按钮...); return true; } }, child: Container( alignment: Alignment.center, child: Text('点击后退按钮

2.8K40

Unity3d 连续按键处理和单次按键处理

某个按键下不放叫连续按键,而仅在按的首次处理叫单次按键处理。...用途是在游戏中控制移动,例子是可以将用户点击鼠标左键向前走一步,而点击鼠标右键,只要按住不放就连续后退 在 unity3d 中,通过 Input 静态类可以拿到用户的输入,而按键的输入统一可以作为某个功能的输入...,那么返回 true 值 GetButtonDown 在虚拟按钮的一帧,返回 true 值 不同就在于 GetButtonDown 只有在虚拟按钮的一帧,返回 true 值,而之后就没有返回...而 GetButton 只要按钮就返回 true 可以用来做连续点击 在脚本的 Update 方法里面方式使用 GetButtonDown 作为相机向前移动,而 GetButton 作为相机向后移动...,此时可以做到鼠标左键点击向前走一步,安装鼠标左键没有反应,而点击鼠标右键,只要按住不放就连续后退 创建一个简单的游戏用来说明一连续按键控制和单次按键控制的不同,接下来的部分是给入门的小伙伴准备的

2K00

实现异步转同步的几种方式

在这种情况,我们可能需要提供一个超时时间,在超时后退出循环。但这样做有一个问题,即如果超时时间过短,可能会导致程序无法正常工作;如果超时时间过长,则会增加等待的时间。...此外,这些方法还可以提供更多的灵活性,比如让程序可以在异步操作完成后立即做出响应,或者在等待操作完成执行其他操作。 回调函数实现异步转同步 假设我们要执行一个异步操作,该操作异步地返回一个整数值。...这是因为异步操作完成,我们需要通过回调函数通知主线程,然后才能执行后续操作。...这是因为异步操作完成,我们需要通过事件通知主线程,然后才能执行后续操作。...这是因为异步操作完成,我们需要通过 Future 或 Promise 的 SetResult 方法通知主线程,然后才能执行后续操作。

57210

Human Interface Guidelines —— 导航栏(Navigation Bars)

内容 显示一个新的屏幕,一个后退按钮(通常标有前一个屏幕的标题)出现在该bar的左侧。...·显示全屏内容可考虑暂时隐藏navigation bars。 您想要聚焦内容,navigation bar可能会分散注意力。 暂时隐藏navigation bar以提供更加身临其境的体验。...在大多数情况,标题可以帮助人们了解他们正在查看的内容。 但是,如果导航栏的标题看起来多余,则可以标题处留空。 例如,由于第一行内容提供了所需的所有上下文,因此Notes不会为当前的笔记加标题。...在某些app中,大标题的大号加粗文本可以帮助用户在浏览和搜索知道自己所在位置。 例如,在 tabbed layout中,大型标题可以帮助看清当前活动tab,并在用户滚动到顶部通知用户。 ...如果您使用自定义图像替换系统提供的后退按钮V形图像,则也需要提供自定义遮罩图像。 iOS使用此遮罩在转场按钮标题设置动画效果。 ·不要包含多段面包屑路径。

2.4K110

Material Design — 提示框( Dialogs)

按钮文案要明确说明接下来发生的操作 带有标题的警告 仅对高风险情况使用带标题的警告,例如连接可能丢失。 用户应该能够仅根据标题和按钮文本来理解选择。...操作机制: ·立即选择一个选项,提交选项并关闭菜单; ·触摸提示框外部或后退键,取消操作并关闭对话框。 减少打扰 简单提示框比简单菜单更具中断性,应该谨慎使用。 ?...例如,用户可以聆听多个铃声,但只能在触摸“ok”进行最终选择。 点击确认对话框中的“取消”,或Android的“后退”,取消操作,放弃所有更改并关闭对话框。 ?...全屏提示框可用于满足以下标准的内容或任务: ·该提示框包含需要输入编辑器(IME)的组件(如选择器或form fields),例如键盘 ·没有实时保存更改时 ·app中没有草稿功能(无法自动存到草稿...确认按钮将被禁用,直到满足对话框中的所有必填字段都完成,确认操作才会被激活 丢弃(离开) 丢弃操作(屏幕左上角的“X”)和后退按钮均会关闭全屏对话框并放弃之前所做的更改。

5.1K101
领券