I cannot duplicate the problem, unfortunately. I just had a single Error report on the Market.
On Sep 15, 11:44 am, Kostya Vasilyev <kmans...@gmail.com> wrote: > I'm thinking you could add logging calls in onDetachedFromWindow and > both onClick methods. See if one of those gets called twice, perhaps... > Or getting called when it shouldn't... > > 15.09.2010 19:25, Zsolt Vasvari пишет: > > > > > > > Yes, sorry for not posting in before, line 163 is the one I marked : > > > java.lang.NullPointerException > > at com.myapp.widget.CurrencyEditText$2.onClick(CurrencyEditText.java: > > 163) > > at com.android.internal.app.AlertController > > $ButtonHandler.handleMessage(AlertController.java:158) > > at android.os.Handler.dispatchMessage(Handler.java:99) > > at android.os.Looper.loop(Looper.java:144) > > at android.app.ActivityThread.main(ActivityThread.java:4937) > > at java.lang.reflect.Method.invokeNative(Native Method) > > at java.lang.reflect.Method.invoke(Method.java:521) > > at com.android.internal.os.ZygoteInit > > $MethodAndArgsCaller.run(ZygoteInit.java:868) > > at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) > > at dalvik.system.NativeStart.main(Native Method) > > > On Sep 15, 11:06 am, Mark Carter<mjc1...@googlemail.com> wrote: > >> Do you have access to the stacktrace? > > >> On Sep 15, 3:29 pm, Zsolt Vasvari<zvasv...@gmail.com> wrote: > > >>> Hello, I have a custom widget that can display a pop-up dialog. I > >>> have a single report of a NPE happening, and looking through my code, > >>> I don't know how that's possible unless there is a race condition > >>> involved somehow. Just wondering if anybody can point me to the > >>> problem. > >>> Here's my code (irrelevant stuff omitted): > >>> public class CurrencyEditText extends LinearLayout > >>> { > >>> Dialog mDialog; // If the dialog is NOT showing, this is NULL > >>> protected void onDetachedFromWindow() > >>> { > >>> super.onDetachedFromWindow(); > >>> // Dismiss, if showing > >>> if (mDialog != null) > >>> { > >>> mDialog.dismiss(); > >>> mDialog = null; > >>> } > >>> } > >>> private void showDialog() > >>> { > >>> Builder builder = new Builder(context); > >>> // Set dialog properties, omitted... > >>> builder.setPositiveButton(R.string.set, new > >>> OnClickListener() > >>> { > >>> public void onClick(DialogInterface dialog, int > >>> buttonId) > >>> { > >>> // Dismiss > >>> CurrencyEditText.this.mDialog.dismiss(); > >>> CurrencyEditText.this.mDialog = null; > >>> // Send message here, omitted... > >>> } > >>> }); > >>> builder.setNegativeButton(android.R.string.cancel, new > >>> OnClickListener() > >>> { > >>> public void onClick(DialogInterface dialog, int > >>> buttonId) > >>> { > >>> // Dismiss -- NPE happens on next line as mDialog > >>> is NULL, which it shouldn't be > >>> CurrencyEditText.this.mDialog.dismiss(); > >>> CurrencyEditText.this.mDialog = null; > >>> // Send message here, omitted... > >>> } > >>> }); > >>> mDialog = builder.show(); > >>> } > >>> } > >>> That's it -- mDialog is not touched anywhere else. So either the > >>> click listener is called after onDetachedFromWindow() or before > >>> builder.show() can set mDialog. > >>> Obviously, I could address the symptom by butting a NULL check around > >>> the crashing line, but I would like to understand what's going on here > >>> as I use the same pattern all over my app. > >>> Thanks.- Hide quoted text - > >> - Show quoted text - > > -- > Kostya Vasilyev -- WiFi Manager + pretty widget > --http://kmansoft.wordpress.com- Hide quoted text - > > - Show quoted text - -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en