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]。 现在我可以为每张卡创建单独的数组,但我不知道如何将数组添加到一起,或者如何根据每个微调器中的最终值更新数组 我现在所拥有的: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
@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();