Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.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/8/logging/2.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 android ArrayList在getter方法之后为空_Java_Android_Eclipse - Fatal编程技术网

Java android ArrayList在getter方法之后为空

Java android ArrayList在getter方法之后为空,java,android,eclipse,Java,Android,Eclipse,我有一个实现getter和setter方法以及相关代码的类,如下所示 ArrayList<String> viewArray = new ArrayList<String>(); public ArrayList<String> getView() { return viewArray; } ArrayList viewArray=new ArrayList(); 公共阵列列表getView(){ 返回视图数组; } 在我的活动中,我尝试访问存储阵列,如

我有一个实现getter和setter方法以及相关代码的类,如下所示

ArrayList<String> viewArray = new ArrayList<String>();

public ArrayList<String> getView() {
return viewArray;
}
ArrayList viewArray=new ArrayList();
公共阵列列表getView(){
返回视图数组;
}
在我的活动中,我尝试访问存储阵列,如:

ArrayList<String> al = new ArrayList<String>();

al = parsedExampleDataSet.getView();
ArrayList al=new ArrayList();
al=parsedExampleDataSet.getView();

但是“al”没有收到任何数据。但是,当执行getView()时,viewArray被正确填充。我错过了什么?谢谢。

其他人发表了一些好的评论,但我想我会带您浏览我看到的代码

public class SomeClass {
    // this is local to this class only
    ArrayList<String> viewArray = new ArrayList<String>();
    public void process() {
       // i'm guessing there is some sort of processing method that is called
    }
    public ArrayList<String> getView() {
       return viewArray;
    }
}

请编辑您的问题,以进一步解释您遇到的问题。

为什么给
al
一个初始值,却用调用
getView()
的结果替换该值?现在还不清楚什么时候是空的……如果parsedExampleDataSet.getView()返回一个列表,应该不会有问题。调试它,在这一行上放置一个断点al=parsedExampleDataSet.getView();您将看到getView()返回空列表。之前的代码使列表为空或其他内容。之前没有代码,因为在调试时,执行getView()时,viewArray已正确填充。但是,al不像viewArray那样填充。如果更多的代码将是有益的,我将很高兴发布它,也许你隐藏了其他实例viewArray。在调试期间检查两个对象的哈希代码(在eclipse实例ID中)
public class YourActivity {
    ArrayList<String> al = new ArrayList<String>();
    public void someMethod() {
        // here a1 will be the same blank List you initialized it with
        // unless someMethod() has been called before or a1 modified elsewhere
        al = parsedExampleDataSet.getView();
        // after the call to getView, a1 is now a reference to SomeClass.viewArray
        // the ArrayList that a1 was initialized with is then garbage collected
    }
}