The spinner has nothing to do with this, per se. Get your exising task, if any, by calling getLast... *inside onCreate*.
22 декабря 2011 г. 2:19 пользователь João Rossa <joao.ro...@gmail.com> написал: > So basically you can not use the combination of > onRetainNonConfigurationInstance()/ getLastNonConfigurationInstance () with > the task inside the spinner listener????because i wanted to aunch tasks > according to the option selected of the spinner.... > > > 2011/12/21 Kostya Vasilyev <kmans...@gmail.com> >> >> The value returned by getLastNonConfigurationInstance is cleared to >> null very soon after you're supposed to have used it - onCreate. >> >> So, don't delay, make it quick, grab it while you can, inside your >> onCreate, and hold on to it. >> >> ( IIRC, the value doesn't stay around long enough to be retrieved in >> onStart or onResume -- not to mention much later, when the UI is >> completely up and running with your spinner ) >> >> -- Kostya >> >> 22 декабря 2011 г. 0:06 пользователь Bluemercury <joao.ro...@gmail.com> >> написал: >> > Hi all! so currently i have an activity that laucnhes an async task from >> > inside the spinner onItemSelected method with the select int year value: >> > >> > spinYears.setOnItemSelectedListener( >> > new OnItemSelectedListener() { >> > >> > @Override >> > public void onItemSelected(AdapterView<?> item, View arg1, >> > int arg2, long arg3) { >> > >> > yearSelected=(Integer) item.getSelectedItem(); >> > doAsyncTask(); >> > >> > } >> > >> > @Override >> > public void onNothingSelected(AdapterView<?> arg0) { >> > // TODO Auto-generated method stub >> > >> > }}); >> > >> > here's the doAsyncTask method: >> > >> > /** >> > * do asynctask for background work >> > */ >> > public void doAsyncTask(){ >> > //get task back in case of rotation >> > task= (QuadrosMobileActivityTask<?, ?, >> > ?>)getLastNonConfigurationInstance(); >> > >> > if(task==null){ >> > task=new PeriodoFeriasDbAsyncTask(this); >> > ((PeriodoFeriasDbAsyncTask)task).execute(yearSelected); >> > }else{ >> > task.attach(this); >> > } >> > } >> > >> > >> > if i rotate the phone the task runs again, but if i put the >> > doAsyncTask() >> > method call outside of the listener it works as it should.....any reason >> > for >> > this?why would calling a task inside the spinner listener be different? >> > >> > regards, >> > >> > >> > -- >> > 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 >> >> -- >> 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 > > > -- > 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 -- 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