gpt4 book ai didi

java - java不同类之间的全局变量

转载 作者:行者123 更新时间:2023-12-02 06:21:09 24 4
gpt4 key购买 nike

我正在 Android 中创建一个应用程序。它是一个计算器应用程序。主要 Activity 是用户可以输入方程的地方,第二个 Activity 是用户可以添加/编辑/删除变量的地方。所以我在另一个名为 Global.java 的文件中创建了一个新类。然后我将其扩展到应用程序,导入我需要的所有内容,创建私有(private)字符串,创建一些公共(public)函数,编辑 list ,并在我的主要 Activity 中对其进行初始化。一切工作正常,而我只使用函数传递的字符串,但是当我开始添加我需要的内容(ArrayList)并创建一些函数以便我可以访问列表然后运行它时,应用程序关闭。我认为这是因为 arraylist 不允许传递给不同的类?我是对的还是我只是错过了什么?

如果我没有发布需要的内容,请不要对我的帖子投反对票。我使用的是aide,所以没有日志输出。代码:Global.java

...
import android.app.*;
import java.util.*;

public class Global extends Application
{
private String s;
public static ArrayList<String> sList;

public String getS() {
return s;
}
public void setS(String ss) {
s=ss;
}
public void add() {
sList.add(s);
}
}

MainActivity.java

...
String s;
...
global=(Global)getApplicationContext();
...
global.setS("jian"); //this one works
global.sList.add("jian"); // this one dont
...

最佳答案

您确定初始化了 sList,如下所示:

sList = new ArrayList<String>();

如果没有,您可能需要更改其声明以包含此初始化。

public static ArrayList<String> sList = new ArrayList<String>();

关于java - java不同类之间的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21015297/

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