gpt4 book ai didi

java - 如何使用不同类中的数组?

转载 作者:行者123 更新时间:2023-11-30 02:49:34 25 4
gpt4 key购买 nike

我在一个 Activity 中设置了一个二维数组,我想将它调用到一个 fragment 中,以便我可以使用它的内容。该数组称为“名称”。我不明白执行此操作所涉及的步骤。

最佳答案

您可能想阅读 Singleton Design Pattern 。但与此同时,我会帮助您入门。

创建一个“MyData”类,它将包含您要共享的所有变量/数组。然后你只需要一个 getter 方法来调用这个类。完成后,您将能够访问所有共享变量。 :)

示例 MyData 类:

public class MyData
{
private static MyData _instance;

/* <Shared variables go here> */

public String sharedVariable = "yay this is shared!";
public String sharedVariable2 = "this is also shared!";
public String myArray[][];

/* </Variables> */

public static MyData getMyData()
{
if(_instance == null)
_instance = new MyData();

return _instance;
}
}

要在其中设置数据的示例 Activity/fragment :

MyData data = MyData.getMyData();

data.myArray[0][0] = "test";

您想要获取您设置的数据的示例 Activity/fragment :

MyData data = MyData.getMyData();

String result = "";
result = data.myArray[0][0];

// result will now = "test"

通过使用这个结构,如果第一次调用 MyData 类,它会创建实例,如果它已经被调用过,那么它会简单地返回 _instance,它将包含您设置的所有变量.

免责声明:当您的应用最小化或闲置一段时间时,android 操作系统将清除您类中的所有变量。您可以通过三个选项来避免这种情况:

  1. 将数据存储在本地文件中,并在 onResume() 中将其加载回类
  2. 从数据库中调用数据并在 onResume() 中重新加载类
  3. 使用 SharedPreferences 存储您的数据。然后使用 onResume() 中的 SharedPreferences 中的值刷新 MyData 类中所有变量的值

我通常选择选项 3,因为它通常最符合我的需求。

祝你好运!

关于java - 如何使用不同类中的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24433704/

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