1

我正在制作一个使用 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)

任何帮助都会很棒!             

4

1 回答 1

2

你有以下

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

在初始化 TimerPicker 之前,您尚未将布局的内容设置为 Dialog

你不见了

mTimeDialog.setContentView(yourview);

因此,您的时间选择器为空,导致 NPE。

findViewById查找具有当前错误布局中提到的 id 的视图。我相信您的对话框有自定义布局。您需要先膨胀布局,然后初始化您的视图。

于 2013-10-18T18:53:02.620 回答