Я расширил класс NumberPicker, я переопределил setOnValueChangedListener, но когда я отлаживаю код и нажимаю кнопку «плюс» на цифровом пикселе, он никогда не проходит в моей точке останова внутри метода setOnValueChangedListener. Что-то не так?Android numberpicker, никогда не переходите из контрольной точки OnValueChangedListener
@TargetApi(Build.VERSION_CODES.HONEYCOMB)//For backward-compability
public class NumberPickerCustom extends NumberPicker
{
private int clickNumber = 0;
public NumberPickerCustom(Context context) {
super(context);
}
public NumberPickerCustom(Context context, AttributeSet attrs) {
super(context, attrs);
processAttributeSet(attrs);
}
public NumberPickerCustom(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
processAttributeSet(attrs);
}
private void processAttributeSet(AttributeSet attrs) {
//This method reads the parameters given in the xml file and sets the properties according to it
this.setMinValue(attrs.getAttributeIntValue(null, "min", 0));
this.setMaxValue(attrs.getAttributeIntValue(null, "max", 0));
this.setValue(attrs.getAttributeIntValue(null, "value", 0));
}
@Override
public void setOnValueChangedListener(
OnValueChangeListener onValueChangedListener)
{
super.setOnValueChangedListener(onValueChangedListener);
if (onValueChangedListener==null)
{
onValueChangedListener = new OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal)
{
clickNumber++;
if (clickNumber>10)
{
clickNumber = -1000;
Toast.makeText(getContext(), "Clicca sul numero centrale per inserire direttamente un valore", Toast.LENGTH_SHORT).show();
}
}
};
}
}
}
вам не нужен сборщика пользовательский номер для установки мин максимальное значение. вы можете использовать 'np.setMaxValue (100); np.setMinValue (0) '. Зачем вам нужен специальный выборщик? – Raghunandan
Да, я знаю, я только думаю, что это более элегантно: D Но проблема не в этом, знаете ли вы, почему слушатель ошибается? – Accollativo