私はスピナーを含むCardViewを持っています。スピナーには、ユーザーが選択できる0〜5の数字が入ります。各CardView自体には固有のIDが関連付けられています。例えば、今は2枚のカード、IDが1のカードA、IDが2のカードBがあるとします。スピナーから選択した値に応じて配列を作成します。たとえば、カードAの値が3、カードBの値が2の場合、最終的な配列は[1,1,1,2,2]のようになり、カードAの値のスピナーが0に変更されると、配列は[2,2]に更新されます。 私は今、各カードごとに分離配列を作成することができますが、私は一緒に配列を追加する方法がわからないですか、私が今持っているどのような各スピナーにおける最終的な値CardViewのスピナーから取得した複数の値を合計します。
に基づいて配列を更新:
@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
}
});
}
私は別の配列を今すぐ印刷することができます。 [1,1,1]、[2,2]ですが、スピナーが選択された後、どのように更新して組み合わせるべきですか?私はそれらを共通の環境設定に入れようとしましたが、これは最終的な配列[2,2]だけを共有環境設定にします。