gpt4 book ai didi

java - 在具有不同流程的两个 Activity 之间使用变量

转载 作者:行者123 更新时间:2023-11-30 02:57:10 26 4
gpt4 key购买 nike

我通过添加到它的 <activity> 在单独的进程中创建了我的 Base Activity fragmentmanifest :

android:process=":login_exception_process" 

在基本 Activity 中,我启动我的连接对象,并开始下一个 Activity 。但是当我尝试从另一个 Activity 中获取连接对象的实例时,它们是 NULL

Base Activity 启动的对象保存在static 中的单独类中变量。我怎样才能访问这个变量?

最佳答案

将值传递给另一个 Activity

您必须开始您的下一个 Activity,在 Intent 中发送额外的内容。

Intent intent = new Intent(this, NextActivity.class);
intent.putextra("keyName","value");
startActivity(intent);

你的下一个 Activity ,你可以通过这样做来检索这个值:

String data = getIntent().getExtras().getString("keyName");

Here is the documentation for that.


从 Activity 中获取结果

开始另一项 Activity 不一定是单向的。您还可以开始另一项 Activity 并收到返回的结果。例如,如果您想要启动 NextActivity 并将值从 NextActivity 返回到 BaseActivity,您可以使用 startActivityForResult()

Here is the documentation for that.


更新

通过 intent 发送对象可以通过两种方式完成:

伪代码

可序列化

intent.putExtra("MyClass", your_object);  

// to retrieve object in second Activity
getIntent().getSerializableExtra("MyClass");

可打包

Intent mIntent = new Intent(this, NextActivity.class);  
Bundle mBundle = new Bundle();
mBundle.putParcelable(PAR_KEY, your_object);
mIntent.putExtras(mBundle);
startActivity(mIntent);

尽管 Serializable 似乎是最简单的选择,请遵循此 tutorial它会教你两种方法。


希望对你有帮助。

关于java - 在具有不同流程的两个 Activity 之间使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23085750/

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