如何在构造函数中复制整个数组

时间:2013-09-10 06:54:20

标签: android arrays

我有一个扩展ArrayAdapter的类 以下是类的构造函数。我想将enitire数组值复制到当前类的另一个数组。我想这样做.values = values; 但它只复制最后一个变量。 我怎么能复制整个阵列?

public Custome_res_main_cetegories(Context context, String[] values,String language) {
    super(context, R.layout.custome_main_cetegiores, values);
    this.context = context;
    this.values = values;
    this.language=language;
}

4 个答案:

答案 0 :(得分:3)

一种方法是使用Arrays.copyOf:

public Custome_res_main_cetegories(Context context, String[] values,String language) {
    super(context, R.layout.custome_main_cetegiores, values);
    this.context = context;
    this.values = Arrays.copyOf(values, values.length);
    this.language=language;
}

答案 1 :(得分:0)

试试这种方式

public Custome_res_main_cetegories(Context context, String[] values,String language) {
    super(context, R.layout.custome_main_cetegiores, values);
    this.context = context;
    this.values = values.clone();
    this.language=language;
}

答案 2 :(得分:0)

答案 3 :(得分:0)

您尚未初始化values中的Array Adapter数组 只需更改现有Code中的这行代码:
并且还重命名构造函数中接收的Values Array以避免歧义。

public Custome_res_main_cetegories(Context context, String[] val ,String language) {
super(context, R.layout.custome_main_cetegiores, values);
this.context = context;
values = new String[val.length];
values = val;
this.language=language;
}


我希望这能解决你的问题。