如何从另一个void访问arraylist,然后在Java中生成它?
是否可以从另一个void访问arraylist,然后在Java中生成它? 我正在制作一个android应用程序,我确实大量减少了代码如何从另一个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
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部分恰好是您创建的两个方法的返回类型。