2011-08-08 61 views
0
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#OnTimeChangedListenertp.setCurrentMinute(a)导致NullPointerException。我试过使用int和Integer - 都不起作用。 tp不是null,a也不是。 在模拟器上工作得很好,但在运行2.2的电话上工作不正常。使用来自TimePicker的setCurrentMinute(Integer currentMinute)时的空指针异常

+0

发表您的堆栈跟踪 –

+0

堆栈跟踪?另外,你是否已经步入破产线并评估了tp和a以确保它们确实不为零? –

回答

2

从文档:

公共无效setOnTimeChangedListener(TimePicker.OnTimeChangedListener onTimeChangedListener)
自:API等级1

组表示时间已被 用户调整回调。

参数
onTimeChangedListener回调,不应该 空。

要设置监听器为空,那么当你调用.setCurrentMinute(一)TimePicker给出了一个NullPointerException异常,而试图通知空监听

+0

确实是这个问题。谢谢! – user859593