[英]How can I use an array which is in a different class?
我在一个活动中设置了一个2D数组,我想将其称为片段,以便可以使用其内容。 该数组称为“名称”。 我不了解执行此操作的步骤。
您可能需要对Singleton设计模式进行一些阅读。 但与此同时,我会让您开始。
创建一个“ 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;
}
}
您要在其中设置数据的示例活动/片段:
MyData data = MyData.getMyData();
data.myArray[0][0] = "test";
您想要获取所设置数据的示例活动/片段:
MyData data = MyData.getMyData();
String result = "";
result = data.myArray[0][0];
// result will now = "test"
通过使用此结构,如果第一次调用MyData类,它将创建实例,如果已经调用了该实例,则它将简单地返回_instance,它将包含您设置的所有变量。
免责声明:当您的应用程序最小化或空闲一段时间后,Android OS会清除类中的所有变量。 您有三种选择可以避免这种情况:
我通常选择选项3,因为它通常最适合我的需求。
祝好运!
将您的数组公开,然后像这样从片段中调用
OtherActivity.array []
您可以照常执行所有其他操作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.