静态变量还是通过 Bundle 传递变量? [复制]

2024-01-28

假设我有一个 ListView,并在列表上设置了一个 OnItemClickListener。传递变量的最佳方式是什么?

静态变量:

public static String example;

// onItemClick
Intent intent = new Intent(Main.this, Details.class);
Main.example = "example";
startActivity(intent);

// in onCreate of Details
String example = Main.example;

Bundle:

// onItemClick
Intent intent = new Intent(Main.this, Details.class);
intent.putExtra("example","example");
startActivity(intent);

// in onCreate of Details
Bundle extras = getIntent().getExtras();
String example = extra.getString("example");
// or
Intent intent = getIntent();
String example = intent.getStringExtra("example");

使用总是更好Intent除了使用static变量。当您不想在应用程序中长时间使用静态变量时,请使用静态变量。因为它占用内存并且不容易被垃圾收集。 因此,最好使用“意图”将变量传递给其他活动。

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

静态变量还是通过 Bundle 传递变量? [复制] 的相关文章

随机推荐

  • 将指定的初始值设定项与未命名的嵌套数据类型一起使用

    我想知道是否可以在结构的未命名数据成员中使用指定的初始值设定项 哎呀 拗口 但是 是的 这是做我想做的事情的最干净的方法 如果我有 typedef struct MainStruct union uint8 t a8 16 uint64 t
  • 无法安装 Windows 版 GitHub

    当我尝试为 Windows 安装 github 时收到此错误 Application cannot be started Contact the application vendor 错误日志产生了这样的结果 PLATFORM VERSIO
  • 如何向控件添加工具提示?

    我想显示一个ToolTip当鼠标悬停在控件上时 如何在代码中以及设计器中创建工具提示 Here http msdn microsoft com en us library system windows forms tooltip aspx是
  • 如何自动将 String @RequestBody 解析为 json

    我有一个端点 它应该读取字符串值作为正文 RestController public class EndpointsController RequestMapping method RequestMethod PUT value api m
  • 使用 PDO 序列化数据是否危险

    I have 8 input type text name favour 01 我做那8个input进入一个array and serialize it i use PDO将其保存到数据库中 比反序列化它的输出 favour apple f
  • 正则表达式中的 JSLint“不安全 ^”

    JSLint 报告不安全的 对于以下行 这是为什么 或者每当我想否定某个角色类别时它就会抱怨 remove all non alphanumeric comma and dash characters 7s gd j5d a replace
  • Powershell - 使用特殊字符对字符串对象进行排序

    我在跑 S tst ssrst srst2 s zaa s a s zf Sort Object 我不应该得到回报吗 s a S tst s zaa s zf srst2 ssrst 但我得到以下信息 s a srst2 ssrst S t
  • 回溯暴力Java密码破解器

    我的作业是用递归方法来破解给定长度的密码 n 无限且未知 由小英文字母 a z 组成 这是创建随机密码的 Password 类 import java util Random public class Password private St
  • F# 和 ADO.NET - 惯用的 F#

    我刚刚开始学习 F 我昨晚写了这段 F ADO NET 代码 您将通过哪些方式改进语法 使其感觉像惯用的 F let cn new OleDbConnection cnstr let sql SELECT FROM People let d
  • C:按某个键终止程序

    在C语言中 我通常使用getch 函数等待按下键然后结束程序 但最近我读到 由于它不是标准函数 因此使用它是不好的编程习惯 因此 而不是以下内容 int main dosomething getch wait for the user to
  • 如何从矩阵中删除所有带有 NA 的行?

    I have 一个矩阵y它有两列 行数不同 取决于输入参数 第一列中的所有元素都是整数 I need 对于每一行 如果第二列的元素为 NA 我需要删除这一行 我该怎么做 我唯一的想法是创建另一个矩阵 如果第一个矩阵中的一行没有 NA 则将其
  • 从页面读取 XML 响应

    我正在使用 C 和 ASP net 对网页执行 POST 如何读取 XML 响应以确定我的提交是否有错误或是否成功 这是我尝试过的 但它只会返回成功 失败消息 不会显示从页面返回的实际 xml private void Perform th
  • 使用 jquery 滑动导航栏

    我试图为网站创建一个水平导航栏 现在我需要提供一个滑动效果如下 导航菜单有 5 个链接 第 5 个链接是右箭头图像 单击此第 5 个链接 右箭头 时 所有其他 4 个链接应折叠到此第 5 个菜单中 并且右箭头应替换为左箭头 现在只有一个链接
  • pandas多索引如何按第二级屏蔽数据

    我有一个具有多索引的数据框 如下所示 Date Period Value n 20130101 0 12 n 20130101 1 13 20130102 0 13 20130102 1 14 第一级是日期 第二级是周期 我想将周期不为零的
  • 从 Joomla 表单字段插入数据库

    我是 Joomla 的初学者 开发并创建了一个非常简单的模块 如何创建包含 3 个文本字段的表单 然后将输入的值保存到数据库表中 试试这个例子 我们将把用户的名字和姓氏发布到表中 在您的数据库中创建一个表 注意它应该有前缀 jos 我们将这
  • 撤消 git 合并

    我对 Git 没有那么丰富的经验 现在我遇到了一个大问题 这是我当前的分支的样子 feature F1 F2 master M0 M1 M2 M3 M4 bugfix B1 B2 情况 有人做了一件非常糟糕的事情并推送了一个非常糟糕的合并
  • MySQL 插入错误:ER_BAD_FIELD_ERROR:“字段列表”中未知列“2525”

    var convID 2525 var contactUsername blabla var userId 100 var contactId 200 var sql INSERT INTO contacts FK OWNERID FK U
  • 如何/在哪里使用 NSNumberFormatter?

    我是代码新手 在查看了一些答案后仍然需要帮忙 在我的代码中 func labelInformation numLabels text newLabel text 当前结果 228500 23 期望的结果 228 500 23 如何 在哪里使
  • 短信收件箱中对联系人表的错误引用

    我正在尝试从手机的短信收件箱中查找与短信相对应的联系方式 据我了解person列是外键 id的列ContactsContract Contacts 我的问题是我得到了错误的值person来自短信查询的值 一些person联系人表中不存在 I
  • 静态变量还是通过 Bundle 传递变量? [复制]

    这个问题在这里已经有答案了 假设我有一个 ListView 并在列表上设置了一个 OnItemClickListener 传递变量的最佳方式是什么 静态变量 public static String example onItemClick