Java 如何在oncreate()方法之外使用ArrayList?

Java 如何在oncreate()方法之外使用ArrayList?,java,android,arraylist,Java,Android,Arraylist,我在oncreate方法中为不同的按钮设置了多个ArrayList,如果我将setOnclicklistner添加到oncreate中的每个按钮,那么它可以正常工作,但当我尝试设置按钮单击的开关时,即在oncreate之外,那么我无法访问ArrayList 我已经实现了View.onClickListner 这里是onCreate final ArrayList<String> unit1 = new ArrayList<String>(); u

我在oncreate方法中为不同的按钮设置了多个ArrayList,如果我将
setOnclicklistner
添加到
oncreate
中的每个按钮,那么它可以正常工作,但当我尝试设置按钮单击的开关时,即在
oncreate
之外,那么我无法访问ArrayList

我已经实现了
View.onClickListner

这里是
onCreate

final ArrayList<String> unit1 = new ArrayList<String>();

            unit1.add("Exercise No 1");
            unit1.add("Exercise No 2");
            unit1.add("Exercise No 3");
这样:

// declare array
 ArrayList<String> unit1 = new ArrayList<String>();
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    // load the layout
    setContentView(R.layout.yourlayout); 
   // fill array here
        unit1.add("Exercise No 1");
        unit1.add("Exercise No 2");
        unit1.add("Exercise No 3");
}
//声明数组
ArrayList unit1=新的ArrayList();
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//加载布局
setContentView(R.layout.yourlayout);
//在这里填充数组
单元1.添加(“第1项行使”);
第1单元添加(“第2项练习”);
单元1.添加(“第3项练习”);
}

您需要全局声明它

比如说

public class Activity extends ActionBarActivity{
    ArrayList<String> unit1 = new ArrayList<String>();

@override    
     public void onCreate(Bundle saveonInstance){

      }
//now access it
}
公共类活动扩展了ActionBarActivity{
ArrayList unit1=新的ArrayList();
@凌驾
创建时的公共void(Bundle saveonInstance){
}
//现在访问它
}

数组列表
变量声明为活动的成员变量

public class MainActivity{
private ArrayList<String> unit1;
.
.
}

将arraylist声明为全局变量 像

ArrayList list=new ArrayList();
创建时的公共void(Bundle savedInstanceState)
{
//将项添加到arraylist
列表。添加(“数据1”);
}

在哪里声明arrayList的对象?如果您在onCreate中声明它,它将不起作用。全局声明它。为什么不能在onCreate外部声明Arraylist,而在onCreate中初始化。将其设为全局变量,但在create函数中初始化。嘿,您是否在oncreate方法中设置侦听器。请提供更多细节,以便我能回答你?你的arraylist是全球公布的吗?不知道为什么人们会说“全球”。它被称为类/成员变量或字段…发布您的按钮单击侦听器代码
public class MainActivity{
private ArrayList<String> unit1;
.
.
}
unit1 = new ArrayList<String>();
unit1.add("Exercise No 1");
unit1.add("Exercise No 2");
unit1.add("Exercise No 3");
ArrayList<String> list= new ArrayList<String>();

public void onCreate(Bundle savedInstanceState)
{
//Add item to arraylist
list.add("Data 1");
}