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

时间:2016-01-08 06:28:45

标签: java android arraylist

我在oncreate方法中为不同的按钮设置了多个arraylists,如果我setOnclicklistneronCreate内的每个按钮,那么它工作正常但是当我尝试为按钮点击创建swtich的情况时,就在{ {1}}然后我无法访问arraylists。

我已实施onCreate

View.onClickListner

中的ArrayList
onCreate

这是final ArrayList<String> unit1 = new ArrayList<String>(); unit1.add("Exercise No 1"); unit1.add("Exercise No 2"); unit1.add("Exercise No 3"); 之外的按钮的开关案例,因为其他方法会影响onclick输出,因此它位于onCreate之外。

onCreate

4 个答案:

答案 0 :(得分:3)

您需要在全球范围内声明它。

例如

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

@override    
     public void onCreate(Bundle saveonInstance){

      }
//now access it
}

答案 1 :(得分:0)

这样:

// 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");
}

答案 2 :(得分:0)

ArrayList变量声明为活动的成员变量

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

onCreate初始化变量

unit1 = new ArrayList<String>();
unit1.add("Exercise No 1");
unit1.add("Exercise No 2");
unit1.add("Exercise No 3");

答案 3 :(得分:0)

将arraylist声明为全局变量 像

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

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