Android - 如果第一次加载 Activity,则阻止 onResume() 函数(不使用 SharedPreferences)

2024-01-09

在我当前的应用程序中,当我第一次加载 Activity 时,会触发 onResume 函数。我调查了活动生命周期 http://developer.android.com/reference/android/app/Activity.html,但我没有找到一种方法来防止这种情况发生。

我可以在第一次加载 Activity 时阻止 onResume() 函数加载,而不使用 SharedPreferences 吗?


首先,正如 RvdK 所说,您不应该修改 Android Activity 生命周期,您可能必须重新设计您的 Activity 行为才能符合它。

无论如何,这是我看到的最好的方式:

1.在你的Activity中创建一个布尔变量

public class MyActivity extends Activity{
  boolean shouldExecuteOnResume;
  // The rest of the code from here..
}

2.在 onCreate 中将其设置为 false:

public void onCreate(){
  shouldExecuteOnResume = false
}

3.然后在你的onResume中:

public void onResume(){
  if(shouldExecuteOnResume){
    // Your onResume Code Here
  } else{
     shouldExecuteOnResume = true;
  }

}

这样你的onResume第一次不会被执行(shouldExecuteOnResume为 false),但它将在加载活动的所有其他时间执行(因为shouldExecuteOnResume将是真的)。 如果该活动在下次加载时被终止(由用户或系统)onCreate方法将被再次调用,所以onResume不会被执行等等。

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

Android - 如果第一次加载 Activity,则阻止 onResume() 函数(不使用 SharedPreferences) 的相关文章

随机推荐

  • Graphviz dot - HTML 表格中的斜体文本不是斜体

    我在用着dot版本2 26 3 下列 dot内容 digraph html results shape none margin 0 label lt table border 0 cellspacing 0 cellpadding 4 tr
  • 从 CGPoints 数组中获取最大值和最小值

    我们有一组 CGPoints let points 1234 0 1053 0 1241 0 1111 0 1152 0 1043 0 我想做的是获取数组中 x 值最高的 CGPoint 和 y 值最高的 CGPoint 我将使用这些点来创
  • 您不是该客户端的沙箱用户。错误代码igniter-Instagram api

    In my codeigniter我正在尝试使用的项目Instagram API用于登录 This https github com ianckc CodeIgniter Instagram Library是我正在使用的库 但是当进入登录页
  • Android Studio 中 make 和 build 的区别

    Android Studio Build 菜单的选项包括 Make Project Rebuild Project 我应该什么时候使用它们 大多数时候你应该使用制作项目 有时 在添加库并对项目进行重大更改后 您应该使用重建项目 如果你看一下
  • 当我将项目从一个列表框传输到另一个列表框时,如何防止页面回发

    我的应用程序中有两个列表框 单击按钮后我将项目从一个列表框推送到另一个列表框 代码工作正常 但它会导致回发 当我将项目从一个列表框移动到另一个时 整个页面正在再次加载 如何我可以阻止这一切 这将是我的 aspx 页面上的代码 div cla
  • UISearchBar 文本颜色

    浏览文档 我找不到任何可以更改 UISearchBar 颜色的内容 有人知道如何更改吗 没有任何 textColor 属性 Thx 适用于 iOS 7 及更高版本 UITextField appearanceWhenContainedIn
  • SIMD 将 12 位字段解包为 16 位

    我需要从每个 24 位输入中解压缩两个 16 位值 3 字节 gt 4 字节 我已经以幼稚的方式做到了 但我对表现不满意 例如 InBuffer 是 m128i value1 uint16 t InBuffer 0 11 bit range
  • 如何让 ListView 部分标题固定下来

    我的按钮显示在屏幕顶部 使用反应本机可滚动选项卡视图 在按钮下面 我有ListView上面有节标题 当我滚动时 有没有办法让标题粘在选项卡视图的底部边缘 我很难得到ListView的节标题粘在 Facebook TabBar 的底部 默认情
  • CSS 旋转 IE7 和 8

    我还要问另一个问题 所以 CSS Rotate 在 ie9 中可以工作 但在以前的版本中让旋转工作将是我的死 filter progid DXImageTransform Microsoft BasicImage rotation 1 这行
  • 检测视频文件何时真正写入?

    cwac camera 库具有在保存照片之前调用的事件挂钩 Override public void saveImage PictureTransaction xact byte image 我是否只是忽略了这一点 或者是否没有接收器告诉我
  • 为什么 GetWindowThreadProcessId 有时返回 0?

    我使用远程调用在目标地址空间中注入 NET SpyLib 我需要向该窗口的线程发送一条消息 该线程通过以下方式创建了该远程进程GetWindowThreadProcessId 我正在 Windows 7 上工作 不幸的是它大多数时候返回 0
  • Vue-cli 版本 3 BETA webpack 配置

    我正在尝试学习和测试即将推出的 vuejs vue cli beta 3 0 版本 这将是朝着最简单的 webpack 配置迈出的一大步 与此同时 例子很少 作为测试 我尝试从 vue cli v2 webpack dev conf js
  • iPhone Safari 上的 HTML5 - localStorage 存储的数据并不总是持久。为什么?

    我使用 HTML5 的 localStorage 编写了一个简单的 iPhone Web 应用程序 在 2G 设备上的测试表明 尽管会记住打开的 Safari 窗口 但在 Safari 进程被终止后 使用 localStorage 存储的数
  • 检查整数是否太大

    我正在开发一个交换系统 用户正在设置交换的价格和金额 我想确保交换不大于整数最大值 但我遇到了问题 当兑换金额设置为9或更多时 即使我有检查以确保该数字不大于最大值 但它不起作用 我做了一些调试 当将金额设置为 9 而价格为 2 147 4
  • IIS 7.5 无法打开处理程序映射?

    我需要更新 IIS 7 5 上的处理程序映射 以允许将没有扩展名的 URL 路由到应用程序 该应用程序最初是用 ASP NET 2 0 编写的 但后来升级到 ASP NET 3 5 我不知道这是否相关 但我之前更新其他 net 3 5 应用
  • XGBoost 弃用警告 - Sklearn

    我正在使用 XGBoost 中的 XGBClassifier 我收到以下弃用警告 有什么解决方案可以消除这个警告吗 home carnd anaconda3 envs dl lib python3 5 site packages sklea
  • 无法在 ASP.NET 中转换 System.Web.UI.WebControls.GridView 类型的对象

    我编写了一个方法 当单击删除按钮时从我的 asp net Gridview 中删除行 另一种方法在单击编辑按钮时删除行 编辑和删除按钮都是内置 gridview 控件的一部分 但是 当我按下这些按钮 编辑 删除 时 会引发异常 无法将 Sy
  • 针对网站的 http 客户端 head 方法返回 503,但该网站运行良好

    我们使用以下代码从客户端应用程序与我们的网站进行对话 由于某种原因 我们总是得到 503 的状态代码 但是当我们从浏览器手动加载网站时 它只会加载 find 代码可能有什么问题吗 或者服务器端是否有任何特殊设置可能导致此问题 the hea
  • 存储过程 EF 和 NET CORE

    我正在构建一个 WEB API 以在 net core 中生成 JSON 对象 问题是数据集是在 SQL 存储过程 使用动态 SQL 中生成的 我不知道返回的对象的类型 因此我可以将其映射到具体模型 因为输出列根据参数而变化 有谁知道如何在
  • Android - 如果第一次加载 Activity,则阻止 onResume() 函数(不使用 SharedPreferences)

    在我当前的应用程序中 当我第一次加载 Activity 时 会触发 onResume 函数 我调查了活动生命周期 http developer android com reference android app Activity html