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);

したがって、タイムピッカーは null であり、NPE を引き起こします。

findViewById現在の infalted レイアウトで言及されている id を持つビューを探します。ダイアログのカスタムレイアウトがあると思います。最初にレイアウトをインフレートしてから、ビューを初期化する必要があります。

于 2013-10-18T18:53:02.620 に答える