Hi Vivek!

Thank You for posting!
I tried what You suggesed, but the problem is still on. Setting
postDelayed() executing to 5 sec, and the app is still crashing. So I
think the problem isn't based on timeing, the activity started after
300-400 millisecs, but system doesn't find it, or something like this
could happening...
If You'll have any other idea, I'll try it; that would be big help to
me!

Thanks,
lama

On Sep 15, 11:36 am, Vivek975 <vicks...@gmail.com> wrote:
> Hi lama,
>
> I once had this android.view.WindowManager$BadTokenException when i
> was trying to load the dialog too early.
> It was resolved by delaying the showdialog call.
> U can try it by using Handler().postDelayed()
>
> Thanks,
> vivek
>
> On Sep 14, 10:38 pm, lama <viny...@gmail.com> wrote:
>
>
>
>
>
>
>
> > Hello Masters!
>
> > I'd like to ask for some help: In my app, I have only one activity, a
> > PreferenceActivity (don't need other, it's just a simple background-
> > sync app, so the PrefsActivity is the Main/Launcher). After the user
> > setup preferences, checks a checkBoxPreference, and that starts (or
> > stops) a service. At starting, a dialog shows. But here is the
> > problem: if the user press back (leave the activity), start it again,
> > and than tries to check the checkBoxPref., the prefsactivity crashes.
> > Dialog doesn't shows. I have no idea why, and how to fix it.
>
> > This code like this below, (this is exsactly same with that part, what
> > gives me the problem):
>
> > PrefsActivity.java:
>
> > package is.it.works;
>
> >    // imports .....
>
> > public class PrefsActivity extends PreferenceActivity implements
> > OnSharedPreferenceChangeListener { SharedPreferences prefs;
>
> > @Override
> > protected void onCreate(Bundle savedInstanceState) {
> >     super.onCreate(savedInstanceState);
> >     addPreferencesFromResource(R.xml.prefs);
> >     prefs = PreferenceManager.getDefaultSharedPreferences(this);
> >     prefs.registerOnSharedPreferenceChangeListener(this);
>
> > }// onCreate
>
> > @Override
> > public void onSharedPreferenceChanged(SharedPreferences preferences,
> > String key) {
> >     if (key.equals("checkTest")) {
> >         showDialog(1);
> >     }
> >     if (key.equals("cancel")) {
> >         dismissDialog(1);
> >     }
>
> > }// onSPC
>
> > @Override
> > protected Dialog onCreateDialog(int id) {
> >     switch (id) {
> >     case 1: {
> >         ProgressDialog dialog = new ProgressDialog(this);
> >         dialog.setMessage("press back twice, start the app again, and
> > click checkbox...");
> >         dialog.setIndeterminate(true);
> >         dialog.setCancelable(true);
> >         dialog.setOnCancelListener(new OnCancelListener() {
>
> >             @Override
> >             public void onCancel(DialogInterface dialog) {
> >                 prefs.edit().putBoolean("cancel", false).commit();
> >             }
> >         });
> >         return dialog;
> >     }// case
> >     }// switch
> >     return null;
>
> > }// onCreateDialog
> > }// PrefsActivity
>
> > the prefs.xml contains just a simple checkBoxPref:
>
> > <?xml version="1.0" encoding="utf-8"?>
> > <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/
> > android">
> >     <CheckBoxPreference android:key="checkTest" android:title="test" /
>
> > </PreferenceScreen>
>
> > and the mainfest is simple too:
>
> > <?xml version="1.0" encoding="utf-8"?>
> > <manifest xmlns:android="http://schemas.android.com/apk/res/android";
> > package="is.it.works" android:versionCode="1"
> > android:versionName="1.0">
> > <uses-sdk android:minSdkVersion="4" />
>
> > <application android:icon="@drawable/icon" android:label="@string/
> > app_name">
> >     <activity android:name=".PrefsActivity" android:label="@string/
> > app_name">
> >         <intent-filter>
> >             <action android:name="android.intent.action.MAIN" />
> >             <category android:name="android.intent.category.LAUNCHER" /
>
> >         </intent-filter>
> >     </activity>
>
> > </application>
> > </manifest>
>
> > But when I run this code, got an error when leave-restart the activity
> > - and checking the box:
>
> > 09-14 10:34:34.472: ERROR/AndroidRuntime(281): Uncaught handler:
> > thread main exiting due to uncaught exception
> > 09-14 10:34:34.502: ERROR/AndroidRuntime(281):
> > android.view.WindowManager$BadTokenException: Unable to add window --
> > token android.os.BinderProxy@43756de8 is not valid; is your activity
> > running?
>
> > This error comes from the "new ProgressDialog(this)" operation.
> > Changeing "this" to "getApplicationContext()", or "PrefsActivity.this"
> > doesnt help, the problem is still on. It's a very simple code, but I
> > can't figure out what is wrong with it (?maybe nothing, than why
> > crases and what could be the solution?)...
> > I'm stucked, and now I have no idea...
>
> > Please, tell me why is it happens, and what could be the solution!
> > Thank You Very Much!

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