Вот код, который определяет мой пользовательский диалог.Когда я показываю это диалоговое окно, в комментариях появляется исключение NullPointerException.
protected Dialog onCreateDialog (int id) {
Dialog dialog = null;
switch (id) {
case DIALOG_SUCCESS_ID:
Context thisContext = this;
dialog = new Dialog(thisContext);
dialog.setContentView(R.layout.win_dialog);
dialog.setTitle("Stage One");
TextView timeScore = (TextView) dialog.findViewById(R.id.TimeScore);
timeScore.setText (elapsedTimeSec + "s");
TextView bestScore = (TextView) dialog.findViewById(R.id.BestScore);
bestScore.setText ("Best Score: (n/a)");
Button retry = (Button) dialog.findViewById(R.id.Retry);
retry.setOnClickListener(new View.OnClickListener() {
public void onClick (View v) {
Intent retry = new Intent(v.getContext(), LevelOne.class);
startActivityForResult(retry, 0);
finish();
}
});
Button menu = (Button) dialog.findViewById (R.id.ReturnToMenu);
//Throws NullPointerException at this line
menu.setOnClickListener(new View.OnClickListener() {
public void onClick (View v) {
Intent menu = new Intent(v.getContext(), Menu.class);
startActivityForResult(menu, 0);
finish();
}
});
break;
case DIALOG_GAMEOVER_ID:
break;
default:
dialog = null;
}
return dialog;
}
Но когда я удаляю кнопку меню и метод menu.SetOnClickListener (), он работает нормально!Моя кнопка повтора также работает без помех.Почему я не могу добавить более одной кнопки?Почему это исключение?