Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用不同类中的数组?_Java_Android_Arrays - Fatal编程技术网

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

Java 如何使用不同类中的数组?,java,android,arrays,Java,Android,Arrays,我在一个活动中设置了一个2D数组,我想把它调用成一个片段,这样我就可以使用它的内容了。该数组称为“名称”。我不理解执行此操作所涉及的步骤。公开您的数组,然后从片段调用 OtherActivity.array[] 您可以正常执行所有其他操作您可能需要在上进行一些读取。但与此同时,我会让你开始的 创建一个类“MyData”,它将保存您想要共享的所有变量/数组。然后您只需要一个getter方法来调用该类。完成此操作后,您将能够访问所有共享变量。:) 示例MyData类: public class My

我在一个活动中设置了一个2D数组,我想把它调用成一个片段,这样我就可以使用它的内容了。该数组称为“名称”。我不理解执行此操作所涉及的步骤。

公开您的数组,然后从片段调用

OtherActivity.array[]


您可以正常执行所有其他操作

您可能需要在上进行一些读取。但与此同时,我会让你开始的

创建一个类“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"
要获取设置数据的示例活动/片段:

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操作系统将清除你类中的所有变量。您有三种选择来避免这种情况:

  • 将数据存储在本地文件中,并将其加载回onResume()中的类中
  • 调用数据库中的数据并在onResume()中重新加载该类
  • 使用SharedReferences存储数据。然后使用onResume()中SharedReferences的值刷新MyData类中所有变量的值
  • 我通常选择选项3,因为它通常最适合我的需要

    祝你好运

  • 独身
  • 将其设置为静态公共并调用Class.yourArray
  • 在构造函数中创建一个接口并传递它,或者简单地用某种方法传递它
  • 只需将数组作为对象传递给另一个类

  • 为数组创建一个getter方法,然后从你想要/需要使用此数组的方法中的类实例调用此
    getnameofyour2darayfield
    。将数组设置为属性,然后为其创建一个getter方法。你能提供一个例子吗?什么样的例子?这就是基本的Java。在尝试学习使用Java的工具之前,您应该先学习基本Java。请转到以掌握基本概念,如如何创建getter和setter来通信两个类。我知道它是有效的,因为我一直在做同样的事情。我尝试了这个方法,而不是使用数组中的字符串变量。但是,当它与字符串一起工作时,它与数组不起作用。它肯定也与数组一起工作。如果你想让我给你看,你可以把我加入Skype。(用户名在我的个人资料中)