使用Android TimePicker.getCurrentHour的问题

时间:2013-10-18 18:47:31

标签: java android

我正在制作一款使用TimePicker的应用,这是我第一次使用它。我的代码如下:

final Dialog mTimeDialog = new Dialog(this);
TimePicker timePicker = (TimePicker)mTimeDialog.findViewById(R.id.timePicker);
TimePicker timePicker1 = (TimePicker)mTimeDialog.findViewById(R.id.timePicker1);
int starthour = timePicker.getCurrentHour();
int startminute = timePicker.getCurrentMinute();
int finishhour = timePicker1.getCurrentHour();
int finishminute = timePicker1.getCurrentMinute();

但是当我尝试运行它时,我遇到了异常。当我按下保存按钮以触发包含它的onClick时,我得到了这个:

Caused by: java.lang.NullPointerException
 at com.csam.hourtracker.hourentry.onClick(hourentry.java:40)

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:2)

你有以下

final Dialog mTimeDialog = new Dialog(this);
TimePicker timePicker = (TimePicker)mTimeDialog.findViewById(R.id.timePicker);

在初始化TimerPicker的

之前,您尚未将布局内容设置为Dialog

你错过了

mTimeDialog.setContentView(yourview);

因此,你的时间戳是空的,导致NPE。

findViewById查找当前的infalted布局中提到的id的视图。我相信你的对话框有自定义布局。您需要先扩充布局,然后初始化视图。