Ah. Sorry I somehow missed that.

BTW, I also had similarly mysterious intermittent crash reports for my app. It had to do with ListView and getItem in the adapter seemingly getting called with item position greater than the return value of getCount()-1. Ended up adding conditionals to avoid IndexOutOfBoundsException.

I guess my point is - sometimes it's necessary to add checks to handle cases that shouldn't happen in the first place, all in the name of stability.

-- Kostya

15.09.2010 19:58, Zsolt Vasvari пишет:
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 -


--
Kostya Vasilyev -- WiFi Manager + pretty widget -- http://kmansoft.wordpress.com

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

Reply via email to