Android 将从CardView中的微调器获得的多个值相加

Android 将从CardView中的微调器获得的多个值相加,android,arrays,android-spinner,android-cardview,Android,Arrays,Android Spinner,Android Cardview,我有一个包含微调器的CardView。微调器包含从0到5的数字供用户选择。每个CardView本身都有一个与之关联的唯一ID。例如,假设现在我有两张卡,ID为1的卡A和ID为2的卡B。根据从微调器中选择的值,我将创建一个数组。例如,卡A的值为3,卡B的值为2,最后的数组将类似于[1,1,1,2,2],如果卡A的值的微调器更改为0,则数组将更新为[2,2]。 现在我可以为每张卡创建单独的数组,但我不知道如何将数组添加到一起,或者如何根据每个微调器中的最终值更新数组 我现在所拥有的: @Ov

我有一个包含微调器的CardView。微调器包含从0到5的数字供用户选择。每个CardView本身都有一个与之关联的唯一ID。例如,假设现在我有两张卡,ID为1的卡A和ID为2的卡B。根据从微调器中选择的值,我将创建一个数组。例如,卡A的值为3,卡B的值为2,最后的数组将类似于[1,1,1,2,2],如果卡A的值的微调器更改为0,则数组将更新为[2,2]。 现在我可以为每张卡创建单独的数组,但我不知道如何将数组添加到一起,或者如何根据每个微调器中的最终值更新数组

我现在所拥有的:

    @Override
public void onBindViewHolder(ViewHolder holder, final int position) {

    final ChooseServiceList chooseServiceList1 =  chooseServiceList.get(position);

    // Spinner Drop down elements
    List<Integer> categories = new ArrayList<Integer>();
    categories.add(0);
    categories.add(1);
    categories.add(2);
    categories.add(3);
    categories.add(4);
    categories.add(5);

    ArrayAdapter<Integer> dataAdapter = new ArrayAdapter<Integer>(context, android.R.layout.simple_spinner_item, categories);
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    holder.spinnerServiceNum.setAdapter(dataAdapter);

    holder.spinnerServiceNum.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
            String item = adapterView.getItemAtPosition(i).toString();
            Integer serviceCount = Integer.parseInt(item);//spinner value
            Integer serviceId = chooseServiceList1.getServiceId();//ID associated with card
            List<Integer> list = new ArrayList<Integer>();
            for(int service = 1; service<=serviceCount; service++) {
                list.add(serviceId);
                if(service == serviceCount){
                    //final numbers of each ID that should be add into array
                }
            }
        }

        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {
            //do nothing
        }
    });
}
@覆盖
公共无效onBindViewHolder(ViewHolder,最终int位置){
final ChooseServiceList chooseServiceList1=ChooseServiceList.get(位置);
//微调器下拉元素
列表类别=新建ArrayList();
类别。添加(0);
类别。增加(1);
类别。增加(2);
类别。增加(3);
类别.增加(4);
类别。增加(5);
ArrayAdapter dataAdapter=新的ArrayAdapter(上下文,android.R.layout.simple\u微调器\u项,类别);
dataAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉项);
保持器.喷丝头ServiceNum.setAdapter(数据适配器);
holder.spinnerServiceNum.setOnItemSelectedListener(新建Spinner.OnItemSelectedListener()){
@凌驾
已选择公共视图(AdapterView AdapterView、View视图、int i、long l){
String item=adapterView.getItemAtPosition(i).toString();
整型serviceCount=Integer.parseInt(项);//微调器值
整型serviceId=chooseServiceList1.getServiceId();//与卡关联的ID
列表=新的ArrayList();

对于(int service=1;service使列表定义为最终定义,并将其移动到外部类。因此删除此行

List<Integer> list = new ArrayList<Integer>();
List List=new ArrayList();
相反,在代码的顶部,写

final ChooseServiceList chooseServiceList1 =  chooseServiceList.get(position);
final List<Integer> list = new ArrayList<Integer>();
final ChooseServiceList chooseServiceList1=ChooseServiceList.get(位置);
最终列表=新的ArrayList();