У меня есть три NumberPickers
, и я хотел бы определить, когда значение изменилось во всех них. В настоящее время я использую их для чего-то еще, поэтому я знаю, что они работают. Я пытался сделать это как onClickListener при переключении Ид, но идентификатор не работает здесьmultiple OnValueChangedListeners
public class ..... implements OnValueChangeListener {
// Removed
NumberPicker np1;
// Get the id from xml
np1.setOnValueChangedListener(this);
NumberPicker np2;
// Get the id from xml
np2.setOnValueChangedListener(this);
NumberPicker np3;
// Get the id from xml
np3.setOnValueChangedListener(this);
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
// TODO Auto-generated method stub
Log.i("value changed", "true"); // This IS shown
switch (getView().getId()) { // I think this is wrong
case R.id.numberPicker1:
Log.i("value 1", "true"); // Not shown
break;
case R.id.numberPicker2s:
Log.i("value 2", "true"); // Not shown
break;
case R.id.numberPicker3:
Log.i("value 3", "true"); // Not shown
break;
}
}
}
Я мог бы добавить каждый слушатель separatley, но я думаю, что будет грязно.
к сожалению, это была моя ошибка при копировании. Я отредактировал вопрос – RiThBo
@RiThBo Ooops Я вижу :-D Я обновил свой ответ – tiguchi
Спасибо! Мне нужен только 'switch (picker.getId()), и он отлично работает. :-) – RiThBo