Пользователь сообщила о NullPointerException
происходит на линии onClick
моего AlertDialog:AlertDialog NullPointerException в исходном коде Android
new AlertDialog.Builder(this)
.setTitle(getString(R.string.dialog_error))
.setMessage(getString(R.string.create_failed_error))
.setCancelable(false)
.setPositiveButton(getString(R.string.dialog_got_it), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) { // #L286
dialog.cancel();
mButton.render();
}
})
.create().show();
ошибка, таким образом, коренится в android.internal.app.AlertController
на Line 160:
((DialogInterface.OnClickListener) msg.obj).onClick(mDialog.get(), msg.what);
С я могу догадаться, mDialog
здесь, но как это может случиться? От реализации мы научимся диалог сохраняется в слабом Справочно:
private WeakReference<DialogInterface> mDialog;
Это может быть, возможно, что диалог получает мусор до нажатия пользователя на кнопке диалоговой положительной? Я нахожу это весьма запутанную
StackTrace:
java.lang.NullPointerException
at com.myapp.android.NewActivity$5.onClick(NewActivity.java:286)
at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
Кнопка получает инстанцирования в onCreate
mButton = new CustomButton((CustomButton) findViewById(R.id.goButton));
Show logcat result –
'mButton.render();'. mButton будет null. Удалите все инструкции в onClick, чтобы видеть. – greenapps
@ ρяσѕρєя Это отчет об аварии конечного пользователя, я не могу воспроизвести этот сбой локально. @greenapps Нет, авария происходит на линии 'onClick'' com.myapp.android.activities.NewActivity $ 5.onClick (NewActivity.java:286)' – Mahoni