首页
学习
活动
专区
工具
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中删除它,然后正常处理数据。

2K20

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

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

11.6K20
  • 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.8K50

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

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

    77730

    教育系统APP(二)

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

    1.1K10

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

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

    22710

    AndroidStdio1_5

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

    62830

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

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

    2.3K10

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

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

    9.4K10

    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.5K20

    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

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

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

    85110

    phonegap入门实战

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

    1.6K20

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

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

    2.9K30

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

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

    2.1K00

    Material Design — 提示框( Dialogs)

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

    5.2K101

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

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

    2.5K110

    Android-使用Intent传递数据

    ("data_return","Hello Test0423Activity"); setResult(RESULT_OK,intent); finish...(); 还是构建了一个Intent,不过这个Intent仅仅用于传递数据而已, 没有指定任何“意图”,把要传递的数据存放在Intent中,调用setResult()方法, 专门用于向上一个活动返回数据的...default: } } onActivityResult()方法带有三个参数, 第一个参数requestCode,即我们启动活动的时候传入的请求码, 第二个参数resultCode,即我们返回数据时传入的处理结果...如果在SecondActivity中不是通过按钮点击返回的,而是按下Back键, 可以在SecondActivity中重写onBackPressed()方法解决问题: @Override public...Intent intent = new Intent(); intent.putExtra("data_return","Hello Test0423Activity"); setResult

    1.2K30

    AngularDart 4.0 高级-路由概述 顶

    当用户执行应用程序任务时,Angular路由器支持从一个视图导航到下一个视图。 本指南涵盖路由器的主要功能,通过演示可以实时运行的小应用程序(查看源代码)演示它们。...点击浏览器的后退和前进按钮,浏览器会前后浏览您浏览过的网页的历史记录。 Angular路由器借鉴了这种模式。 它可以将浏览器URL解释为导航到客户端生成视图的指令。...您可以将路由器绑定到页面上的链接,并在用户单击链接时导航到适当的应用程序视图。当用户点击按钮,从下拉框中选择,或者响应来自任何来源的其他刺激时,您都可以进行命令式导航。...但是大多数情况下,由于某些用户操作(如点击锚标签)迫使您导航。...与英雄细节不同,当您键入更新时,危机细节更改是暂时的,直到您通过按下“Save”或“Cancel”按钮保存或放弃它们。 这两个按钮都回到危机中心及其危机列表。 不要单击任一按钮。

    6.1K20
    领券