Я не уверен, что это правильный путь. Мне нужна помощь в решении этой проблемы. Я хочу выбрать номер из NumberPicker. После выбора я ожидаю, что setOnValueChangedListener сможет захватить значение и запустить цикл for и сохранить полученные значения в arraylist. Затем я хочу, чтобы значения цикла отображались в моем счетчике. Но я получаю сообщение об ошибке, говорящее «не может разрешить конструктор ArrayAdapter (....)» и когда я запустить приложение, я получаю сообщение об ошибке:Настройка значения счетчика в зависимости от выбранного номера?
"Error:(79, 58) error: no suitable constructor found for ArrayAdapter(,int,List) constructor ArrayAdapter.ArrayAdapter(Context,int,int,List) is not applicable (actual and formal argument lists differ in length) constructor ArrayAdapter.ArrayAdapter(Context,int,List) is not applicable (actual argument cannot be converted to Context by method invocation conversion) constructor ArrayAdapter.ArrayAdapter(Context,int,int,Object[]) is not applicable (actual and formal argument lists differ in length) constructor ArrayAdapter.ArrayAdapter(Context,int,Object[]) is not applicable (actual argument cannot be converted to Context by method invocation conversion) constructor ArrayAdapter.ArrayAdapter(Context,int,int) is not applicable (actual argument cannot be converted to Context by method invocation conversion) constructor ArrayAdapter.ArrayAdapter(Context,int) is not applicable (actual and formal argument lists differ in length)"
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.new_item);
final List<Integer> resultInteger = new ArrayList<Integer>(); // to store the integer value
final Spinner hourSpinner = (Spinner) findViewById(R.id.hourSpinner);
final NumberPicker HourPicker = (NumberPicker) findViewById(R.id.HourNumberPicker);
HourPicker.setMinValue(9);
HourPicker.setMaxValue(15);
HourPicker.setWrapSelectorWheel(false);
HourPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
Integer value = HourPicker.getValue();
for (int index = 0; index == value; index++)
{
resultInteger.add(index);
}
ArrayAdapter<CharSequence> hourAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, resultInteger);
hourAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
hourSpinner.setAdapter(hourAdapter);
}
});
}
Спасибо.
Изменить ArrayAdapter к "ArrayAdapter " –
Спасибо. Теперь он работает нормально, но у меня есть некоторые проблемы с циклом for, поскольку ничего не отображается в моем spinner @Ram – topacoBoy
Почему это для цикла требуется? просто добавьте значение в список resultInteger. –