如何修改一个活动的另一活动的变量?

2024-01-01

比方说 头等舱 有一个变量 字符串当前值 =“红色” 带有一个通往 Second.class(一项活动)的按钮。 First.class(Activity) 在文本视图中显示变量 currentValue 的值。 (目前为红色)。

如果我们按下按钮,它将带我们到 Second.class,它有一个 EditText 框来修改 First.class 中的变量。它还具有一个确认更改的按钮。最后,它的最底部有一个 TextView,显示 First.class 值变量的预览。

当用户在 Second.class 的 EditText 框中输入“Blue”并点击按钮时,我们如何在不使用意图并返回到该活动的情况下更改 First.class 中的变量?我想留在 Second.activity 中并从那里进行更改。

点击确认按钮后,预览 TextView 应更新以匹配新修改的变量。我提醒你,我们应该还会看到Second.class。如果用户此时点击“后退”或“向上”,他们应该返回到 First.class,并且还会看到 First.class 中的 TextView 已更改。

如果 Second.class 与 First.class 完全分离且无法访问它,如何修改 First.class 的变量? (First.class 是 Second.class 的分层父级。


如果 Second.class 与 First.class 完全分离且无法访问它,如何修改 First.class 的变量?

你不能或者(更重要的是)你不应该尝试这样做。

安卓系统Activity是一个“特殊情况”类,通常应被视为是独立的。换句话说,第二个数据的任何更改Activity需要在第一条中体现出来Activity必须使用某种形式的全局存储来持久保存(SharedPreferences例如)或者应该使用额外的Intent or a Bundle.

With SharedPreferences只需拥有第一个Activity保存你的currentValue在开始第二个之前Activity然后在第二个做相反的事情Activity在返回到第一个之前。首先Activity然后只需检查SharedPreferences in onResume()并更新其TextView如果需要的话。

然而,正如 codeMagic 提到的,只需使用startActivityForResult(...)将允许通过currentValue从第一个到第二个Activity并且,在第二个退出之前,更新Bundle任何更改都将允许它传递回第一个Activity通过onActivityResult(...).

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

如何修改一个活动的另一活动的变量? 的相关文章

  • Android 构建 gradle 在特定设备上失败

    我面临一个奇怪的问题 当我编译我的应用程序以在 Android 7 0 的设备上运行它时 它可以工作 但是当我尝试为 Android 4 2 1 的设备进行编译时 它会失败并出现以下错误 错误 任务 app transformClasses
  • Android,让文本切换器成为中心?

    如何集中我的文本切换器 我尝试过设置重力 但似乎不起作用 ts setFactory new ViewFactory public View makeView TextView t new TextView this t setTypefa
  • 明文 HTTP 流量...不允许

    我的程序从用户那里获取一个 URL 因此它可以向互联网上的任何网站发出请求 我试图让这成为可能 我查找了有关 Android HTTP Cleartext 错误的所有答案 并做了这个 但它仍然不允许我连接我的测试本地 PHP 服务器 我在这
  • 使用 POST 将数据从 Android 发送到 AppEngine Datastore

    抱歉 如果这是一个简单的问题 但我只是不知道我应该做什么 而且我认为我有点超出了我的深度 我想将数据从 Android 应用程序发送到在 Google App Engine 上运行的应用程序 数据必须从那里写入数据存储区 我的数据主要采用对
  • 安卓;在 AdapterViewFlipper 上设置输入/输出动画:未知的动画师名称翻译

    我有一些非常简单的动画 可以与 ViewFlipper 完美配合 但如果我尝试在 AdapterViewFlipper 输入 输出上设置它们 我会收到运行时错误 未知的动画师名称翻译 查看每个方法的相应方法 看起来 ViewFlipper
  • 如何从debug.keystore文件获取MD5?

    我使用一些命令来获取 MD5 私钥debug keystore文件 但实际上我得到的是 SHA1 私钥而不是 MD5 我不知道如何获得MD5 这是我使用的命令 keytool list alias androiddebugkey keyst
  • 我可以使用“导入 com.facebook.FacebookSdk;”使用 Facebook SDK 3.23.1?

    在我的 app build gradle 文件中 我有compile com facebook android facebook android sdk 3 23 1 在我的 BaseActivity java 文件 其中有 public
  • 将搜索结果更新为 Android 中的 Lazy Adapter

    我有项目列表 想为其实现搜索功能 因此 我有一个带有 addTextChangedListener 的文本框 搜索结果运行良好 但当我尝试将结果设置为 ListView 时 新结果将附加到旧结果中 我正在使用惰性适配器 如何清除适配器中的旧
  • Android 依赖项:apklib 与 aar 文件

    据我了解 apklib包含代码 共享资源Maven aar文件由以下人员分发Gradle The aar与 apklib 的主要区别在于 类被编译并包含在 aar 根目录下的classes jar 中 然而apklib不能包含已编译的类文件
  • NoClassDefFoundError:com.google.firebase.FirebaseOptions

    我继续得到NoClassDefFoundError在我正在使用的其他测试设备 4 4 2 上 但在我的测试设备 Android 5 1 上运行良好 我尝试了用谷歌搜索的解决方案 但似乎没有任何效果 我正在使用 Firebase 实时数据库
  • UnsupportedOperationException:特权进程中不允许使用 WebView

    我在用android sharedUserId android uid system 在我的清单中获得一些不可避免的权利 从 HDMI 输入读取安卓盒子 http eweat manufacturer globalsources com s
  • onTouch 给出奇怪的触摸点 Android

    我正在做的事情非常简单 我以前做过 但现在它没有按我的预期运行 无论如何 让我简要解释一下我正在尝试做什么以及我得到了什么 设想 我有一个RelativeLayout其中一个ImageView已放置 现在我设置touchlistener像这
  • 对文本变量进行数学求和? (例如 5865/100 )

    我有一个变量是 whatever 5865 100 这是一个文本变量 我希望它计算 5865 100 以便我可以将其添加到其他数字并进行计算 Number format 不起作用 因为它只返回 5 865 而我希望它返回 58 65 我可以
  • Java中如何限制文件大小

    我正在我的应用程序中创建一个文件 并继续向该文件中写入一些内容 但是当我的文件达到一定大小 比如说 100 行 后 我想删除第一行并将新行写入底部 要求是我的文件应该受到限制 但它应该保留我写入文件的最新内容 请告诉我在Java中是否可行
  • Exif 方向标签返回 0

    我正在开发一个自定义相机应用程序 我面临以下问题 当我尝试使用检索方向时ExifInterface 它总是返回 0 ORIENTATION UNDEFINED 这使我无法将图像旋转到正确的状态 从而无法正确显示 我使用示例代码来设置相机旋转
  • 如何手动添加Android Studio依赖

    我多次尝试向我的项目添加依赖项 但每次都会出现错误 我想添加它们的依赖项是 de hdodenhof circleimageview 1 3 0 and com github bumptech glide glide 3 6 1 所以我想下
  • RecyclerView元素更新+异步网络调用

    我有一个按预期工作的回收视图 我的布局中有一个按钮可以填充列表 该按钮应该进行异步调用 根据结果 我更改按钮的外观 这一切都发生得很好 但是 当我单击按钮并快速向下滚动列表时 异步调用的结果会更新新视图的按钮 代替旧视图的视图 我该如何处理
  • SambaFileInputStream 和 FileInputStream 有什么不同?

    我需要从 samba 服务器流式传输视频 并且我使用 nanohttpd 在我的项目中创建简单的服务器 当我使用本地文件中的 fileinputstream 时 视频视图可以按设置播放视频 http localhost 8080 publi
  • android-如何在谷歌地图上将标记的位置显示为地址

    我已经尝试过 commonsware googlemapsv2 教程 特别是在地图上拖动标记 但现在另一个问题困扰着我 问题是如何将标记的当前位置显示为地图下方或上方的地址 字符串 这是我使用的代码 public class MainAct
  • Android 中带有无尽列表视图滚动的 AsyncTask

    我正在创建一个应用程序 其中我需要有无限的滚动列表视图 我不想在我的应用程序中使用任何库 我在网上看到了一些有助于实现此类列表视图的示例 但我的疑问是 当我的数据来自服务器并在异步任务中进行解析时 如何才能拥有无尽的列表视图 如何从滚动异步

随机推荐

  • 如何使用标记、颜色和 lw 选项绘制多个数据框列

    虽然线图效果很好 但我正在寻找一种更有效的方法来编写此代码并缩短它 什么被认为是 最佳实践 新人正在做基础工作 我觉得我应该使用循环来分配所有 y 值 也许还有绘图 数据说明 1990 2018 年时间序列数据 包含大陆电力消耗 TWH f
  • 创建操作的自定义 POST 路由未启动

    解释上下文 puts I am learning Rails building a simple forum application puts I am pretty satisfied to where I got so far but
  • 初始化语法

    我喜欢 C 3初始化语法 https learn microsoft com en us dotnet csharp programming guide classes and structs how to initialize objec
  • 如何强制 float 和 int 有小数点或尾随零

    我正在尝试通过 RS232 与机器连接 并且机器要求所有输入都有小数点分隔符 否则它会采用小数点位置 例如 如果我发送25它将解释为0 025 but 25 000 or 25 将被正确接收为25 000 I tried Math Roun
  • 对于C++ sort(),如何将参数传递给自定义比较函数?

    我想使用标准排序函数根据与另一个点的距离 例如它们的重心 对点进行排序 我知道我可以编写一个自定义比较函数 但我不知道如何向它传递参数 我希望它是线程安全的 所以我不想将参数存储在一个中心位置 有没有办法将附加参数传递给自定义比较函数 He
  • JavaScript - XMLHttpRequest、访问控制允许来源错误

    我正在尝试将 XMLHttpRequest 发送到粘贴站点 我正在发送一个包含 api 所需的所有字段的对象 但我不断遇到此问题 我读过这个问题 我想 httpReq setRequestHeader Access Control Allo
  • 未找到方法定义...使用 Xcode 自动存根?

    在询问之前我不想放弃 因为这是任何 Java Net IDE 中的基本功能 编译器告诉我 Incomplete implementation of class Method definition for someMethod not fou
  • 在 kustomize 中选择性应用名称前缀/名称后缀

    目前我们正在使用 HOME bin kustomize edit set nameprefix prefix1 但它正在向我们的所有资源 例如 deployment yaml 和 service yaml 添加 nameprefix 我们只
  • 无法使用 C++ 连接到 PostgreSQL

    我正在尝试在我的 Mac 上运行 PostgreSQL PostgresQL 本身工作正常 我可以创建数据库和表之类的东西 但是当我尝试使用 C 连接到 PostgreSQL 时 如下所示 include
  • Git 弄乱了我的文件,在某些地方显示中文字符

    免责声明 我所说的 Git 是指 我 搞砸了 Earlier https stackoverflow com questions 17248795 git thinks ini saved in unicode files are bina
  • 如何使用 R 以编程方式提取/解压 .7z (7-zip) 文件

    我正在尝试自动提取许多使用 7 zip 压缩的文件 我需要自动化这个过程 因为a 我想解锁很多年的数据 b 我想与其他人共享我的代码并防止他们手动重复该过程 我的计算机上安装了 WinRAR 和 7 zip 我可以使用任一程序轻松地单独打开
  • 构建和验证 Gigya 签名

    我编写了一个方法 根据 Gigya 的指定时间戳和 UID 来验证 gigya 签名构建签名的说明 http developers gigya com 030 Gigya Socialize API 2 0 010 Developer Gu
  • 可能是C# 4.0编译器错误,其他人可以验证吗?

    由于我不知道究竟是哪一部分触发了错误 所以我不完全确定如何更好地标记它 这个问题是SO问题的副产品C 代码似乎以无效的方式进行优化 导致对象值变为 null https stackoverflow com questions 3379894
  • 是否有解决方法可以在 Ruby 中打开包含下划线的 URL?

    我正在使用 open uri 来打开 URL resp open http sub domain domain com 如果它包含下划线 我会收到错误 URI InvalidURIError the scheme http does not
  • 如何在 C++/CLI 接口中声明默认索引属性

    如何在 C CLI 接口中声明默认索引属性 请原谅使用命名空间的重复 完全限定符号 因为我刚刚学习 C CLI 并且希望确保 C 和 C 之间不会发生语言原语的意外混淆 Code is public interface class ITes
  • 代码段的动态重定位

    只是出于好奇 我想知道是否可以在期间重新定位一段代码 程序的执行 例如 我有一个函数 这个函数应该 每次执行后都会在内存中进行替换 我们想到了一个想法 就是使用自修改代码来做到这一点 根据网上的一些资源 自行修改 代码可以在Linux上执行
  • DICOM StudyInstanceUID 对于患者来说应该是唯一的吗?

    在处理 DICOM 研究 系列和媒体概念时 我想知道这些值对于所有数据是否都是唯一的 或者仅对于它们所属的患者而言是唯一的 另有表述 我可以让 2 名患者的研究 系列 SOP 实例 uid 值相同吗 或者 DICOM 标准根本不关心这一点
  • python opencv如何分割血管

    我正在尝试使用 Python 和 OpenCV 分割视网膜图像中的血管 这是原始图像 理想情况下 我希望所有血管都像这样非常明显 不同的图像 这是我到目前为止所尝试过的 我拍摄了图像的绿色通道 img cv2 imread images H
  • 由初始值设定项列表初始化的数组存储在哪里?

    鉴于这段代码 void someFunction void int array 1 2 3 4 5 6 7 8 9 10 数组的值存储在哪里 Stack Heap 与那些字符串文字一起 是不是叫高频堆 别的地方 我问这个问题是因为我不确定这
  • 如何修改一个活动的另一活动的变量?

    比方说 头等舱 有一个变量 字符串当前值 红色 带有一个通往 Second class 一项活动 的按钮 First class Activity 在文本视图中显示变量 currentValue 的值 目前为红色 如果我们按下按钮 它将带我