分配的变量神秘地变为空

时间:2013-02-02 10:19:31

标签: java android

我上课了:

public class Nomenklatura implements Serializable {
    ArrayList<String> data = new ArrayList<String>();
    ArrayList<String> data1 = new ArrayList<String>();
    ArrayList<String> data2 = new ArrayList<String>(6);
}

活动:

public class Smena extends Activity {
    public Nomenklatura Asortiment;
    ArrayList<String> data = new ArrayList<String>();
    ArrayList<String> data1 = new ArrayList<String>();
    ArrayList<String> data2 = new ArrayList<String>(6);

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.smena); 
        Intent i= getIntent();

        Asortiment = (Nomenklatura) i.getExtras().getSerializable("Nomenklatura");
        ArrayList<String> data = Asortiment.data;
        ArrayList<String> data1 = Asortiment.data1;
        ArrayList<String> data2= Asortiment.data2;
    }
}

在调试器中,ArrayList<String> data =Asortiment.data;之前我在Asortiment.data中看到数据,但在此操作之后,ArrayList<String> data为空。我不明白为什么。

1 个答案:

答案 0 :(得分:3)

你的onCreate方法正在创建新的局部变量,而不是分配给成员变量。如果您在没有前面的data = Asortiment.data;声明的情况下编写ArrayList<String>(并且在以下两行中相同),那么它将起作用!