1

我有课:

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是空的。我不明白为什么。

4

1 回答 1

2

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

于 2013-02-02T10:21:18.483 回答