gpt4 book ai didi

android - 使用 putExtra() 和 getExtra() 将从另一个 Activity 发送的空变量的值设置为 0 以外的值

转载 作者:行者123 更新时间:2023-11-29 18:02:20 26 4
gpt4 key购买 nike

我不知道以前是否有人问过这个问题,找不到任何相关信息:如何将通过 putExtra/getExtra 发送到另一个应用程序的空变量的值设置为非零值默认情况下?

让我解释一下原因,并向您展示一个小架构以使事情更清楚:
enter image description here

如您所见,在我的应用程序中,我有一个与数据库通信并根据您单击的按钮发送不同信息的方法。所以对于每个按钮,我都有这种代码:

private OnClickListener listener_button1 = new OnClickListener() {
public void onClick(View v) {
Intent t = new Intent(MainActivity.this,
ResultListViewActivity.class);
t.putExtra("myVariable1", 10);
t.putExtra("myVariable3", 45);
t.putExtra("myVariable2", 2);
t.putExtra("myVariable4", 1000);
startActivity(t);

因为我想让我的程序尽可能轻便,所以我只为每个按钮定义了一个方法,因为它在做同样的事情。问题是,并非每个按钮都发送相同数量的变量:有些只发送 1 或 2 个变量,有些最多发送 4 个变量。当它不发送任何东西时,getExtra() 会自动将值设置为 0,这对我来说很糟糕,因为 0 指的是我数据库中的特定内容(我更希望将我的变量设置为 1000,因为 1000 不会特别指代任何事物)。

所以我想总结一下,不必每次都指定我不使用像这段代码这样的变量,而是找到一种方法让它成为一种自动化:

  t.putExtra("myVariable4", 1000);

我已经尝试在调用方法的 Activity 开始时像这样初始化值,但它不起作用:
整数变量 = 1000 ;

这部分代码似乎系统地把它设置为 0 :

Bundle bundle = getIntent().getExtras();
int variable4 = bundle.getInt("variable4");

ps:我不想手动设置所有没有特定值的变量,因为在我的实际应用程序中,它远远超过 4 个输入和 3 个按钮,所以每个按钮都非常重listener 很多变量设置为 1000.
我希望我说得够清楚了!

最佳答案

一般是这样的:-

bundle.getInt("passedVariable", defaultValue);

在您的情况下,由于默认值为 1000

bundle.getInt("variable4", 1000); 应该可以帮到您。

关于 docs 的信息.

关于android - 使用 putExtra() 和 getExtra() 将从另一个 Activity 发送的空变量的值设置为 0 以外的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15286971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com