gpt4 book ai didi

java - 全局变量在 Intent 之后始终为空

转载 作者:行者123 更新时间:2023-12-02 11:37:54 24 4
gpt4 key购买 nike

fragment 更改后,我的全局变量变空。我按照其他人的帖子做了几个步骤,但仍然无法得到它。谁能解释一下并帮我解决这个问题吗?

GlobalClass.java

public class GlobalClass extends Application{

private static String firstName;
private static String middleName;

public String getFirstName() {
return firstName;
}

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public String getMiddleName() {
return middleName;
}

public void setMiddleName(String middleName) {
this.middleName = middleName;
}

}

Activity Java

我存储使用:

GlobalClass globalVariable = new GlobalClass();
globalVariable.setFirstName(fName.getText().toString());

我也尝试将我的 GlobalClass 名称放在我的 list 上,但仍然没有任何反应

<application android:name=".GlobalClass">

最佳答案

这是错误的:

GlobalClass globalVariable = new GlobalClass();
globalVariable.setFirstName(fName.getText().toString());

Android 负责创建 Application一个实例您在 <application android:name=".GlobalClass"> 中定义。对你来说,这将是 GlobalClass .

然后,您只需执行此操作即可访问一个共享 Application :

(GlobalClass)context.getApplication

无论如何,你应该只扩展 Application如果您需要访问应用程序的生命周期。在这种情况下,您不应该这样做。您最好创建一个简单的 singleton :

public class GlobalClass{

private static GlobalClass globalClass;

private GlobalClass() {
}
public static Logger getInstance() {
if (globalClass == null) {
globalClass = new GlobalClass();
}
return globalClass;
}
}

然后,像这样使用它:

GlobalClass.getInstance();

关于java - 全局变量在 Intent 之后始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48790785/

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