NullPointerException при использовании setCurrentMinute (Integer currentMinute) из TimePicker - PullRequest
0 голосов
/ 08 августа 2011
    public void onTimeChanged(TimePicker tp, int hour, int min){
        tp.setOnTimeChangedListener(null);
        Integer a = new Integer(5);
        if(a == null){
            Log.d("ff", "integer IS null");
        } else {
            Log.d("ff", "integer is NOT null");
        }
        if(tp == null){
            Log.d("ff", "tp IS null");
        } else {
            Log.d("ff", "tp is NOT null");
        }
        tp.setCurrentMinute(a);
        tp.setOnTimeChangedListener(this);
    }

Это мой TimePicker#OnTimeChangedListener. tp.setCurrentMinute(a) вызывает NullPointerException. Я пытался использовать int и Integer - ни один не работает. ТП не является нулевым и не является либо. Работает просто на эмуляторе, но не на телефоне с 2.2.

1 Ответ

2 голосов
/ 08 августа 2011

Из документации:

public void setOnTimeChangedListener (TimePicker.OnTimeChangedListener onTimeChangedListener)
Начиная с: Уровень API 1

Установите обратный вызов, который указывает, что время было отрегулировано пользователь.

Параметры
onTimeChangedListener обратный вызов, не должен быть нуль.

Вы устанавливаете для слушателя значение null, затем при вызове .setCurrentMinute (a) TimePicker выдает исключение NullPointerException при попытке уведомить нулевого слушателя

...