Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.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
如何从另一个void访问arraylist,然后在Java中生成它?_Java_Android - Fatal编程技术网

如何从另一个void访问arraylist,然后在Java中生成它?

如何从另一个void访问arraylist,然后在Java中生成它?,java,android,Java,Android,是否可以从另一个void访问arraylist,然后在Java中生成它? 我正在制作一个android应用程序,我确实大量减少了代码 package com.example.example; import ...; public class Example { @Override protected void onCreate(Bundle savedInstanceState) { //android things here... Arra

是否可以从另一个void访问arraylist,然后在Java中生成它? 我正在制作一个android应用程序,我确实大量减少了代码

package com.example.example;

import ...;

public class Example {

    @Override
    protected void onCreate(Bundle savedInstanceState) {        
//android things here...
        ArrayList<String> questionid = new ArrayList<String>();
        questionid.add("1");
        questionid.add("2");
        questionid.add("3");
        questionid.add("4");
        questionid.add("5");
        questionid.add("6");
        questionid.add("7");
        questionid.add("8");
        questionid.add("9");
        questionid.add("10");
        Collections.shuffle(questionid, new Random(System.nanoTime()));
}

    private void newQuestion() {
        questionid.get(0); //<-- It doesn't find the arraylist questionid
        }
    }

    private void setNewQuestion() {
        TextView questionnumberlabel;
        questionnumberlabel = (TextView) findViewById(R.id.questionnumber);
        if (questionnumberlabel.getText().equals("1")) {

        }
    }

}
有没有办法让arraylist在类中的任何地方都可以访问?同样,我正在为android开发一个应用程序,所以我确实减少了一些代码。

您目前已经在onCreate方法中将questionid声明为局部变量。该变量仅在该方法调用期间存在。您需要一个实例变量,即对象状态的一部分,并且在所有方法中都可用

public class Example {
    private ArrayList<String> questionid;

    @Override
    protected void onCreate(Bundle savedInstanceState) {        
        questionid = new ArrayList<String>();
        questionid.add("1");
        ...
    }

    private void newQuestion() {
        String firstQuestion = questionid.get(0);
        ...
    }
}

你说的另一种空虚是什么意思?你能发布一些相关的代码吗?如果你没有时间写一个像样的问题,你根本不应该发布一个问题。等到你有时间,然后读它听起来你应该有一个实例变量,而你现在有一个局部变量,但这实际上只是一个猜测…@JonSkeet我编辑了这个问题。回答-但使用适当的术语很重要。没有“其他空虚”这样的东西-听起来你真的是指另一种方法。。。void部分恰好是您创建的两个方法的返回类型。