3 つの数値ピッカーを作成しました。選択したときにそれらの数値ピッカーを追加/合計する予定ですが、文字列配列の問題に直面しています。
入力:ここでは、番号ピッカーから選択した番号 20、30、10
出力: 103020
しかし、私はそれが10 + 20 + 30 = 60まで合計され、103020のような出力を表示しないようにする必要があります
NumberPicker.OnValueChangeListener onValueChanged = new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
NumberPicker[] nps = new NumberPicker[3];
nps[0] = (NumberPicker) findViewById(R.id.carbPercentage);
nps[1] = (NumberPicker) findViewById(R.id.proteinPercentage);
nps[2] = (NumberPicker) findViewById(R.id.fatPercentage);
String temp = "";
for (int i = 0; i < 3; i++) {
String[] values = nps[i].getDisplayedValues();
temp = values[nps[i].getValue()] + temp;
}
TextView tv = (TextView) findViewById(R.id.totalPercentage);
tv.setText(temp);
}
};
NumberPicker[] nps = new NumberPicker[3];
nps[0] = (NumberPicker) findViewById(R.id.carbPercentage);
nps[1] = (NumberPicker) findViewById(R.id.proteinPercentage);
nps[2] = (NumberPicker) findViewById(R.id.fatPercentage);
String[] values = new String[21];
for (int i = 0; i < values.length; i++) {
values[i] = Integer.toString(i * 5);
}
for (int i = 0; i < 3; i++) {
nps[i].setMaxValue(values.length - 1);
nps[i].setMinValue(0);
nps[i].setDisplayedValues(values);
nps[i].setOnValueChangedListener(onValueChanged);
}