Well only on task is launched but the spinner option value selected is used
as a parameter to the async task....

On Wed, Dec 21, 2011 at 11:42 PM, Kostya Vasilyev <[email protected]>wrote:

> To represent multiple tasks, I'd use any suitable data structure (hash
> map, sparse array, plain java array, etc.)
>
> I'd then carry this entire data structure across configuration changes,
> making sure to get it in onCreate.
>  22.12.2011 3:35 пользователь "João Rossa" <[email protected]> написал:
>
> Ok, so if you had a spinner where each option would be used as a parameter
>> to an async task but you didnt want to repeat that same async task after
>> rotating what would be best approach?
>>
>> regards,
>>
>> On Wed, Dec 21, 2011 at 11:24 PM, Kostya Vasilyev <[email protected]>wrote:
>>
>>> You can launch the task any place you like, just don't expect to be able
>>> to check if one already exists by calling getLast... (sorry, I'm not typing
>>> that again) anywhere but in onCreate.
>>>
>>> So: call getLast in onCreate, save the value someplace, and then you'll
>>> have a way of checking if you need to launch a new task or wait for an
>>> existing one to complete.
>>> 22.12.2011 3:18 пользователь "João Rossa" <[email protected]>
>>> написал:
>>>
>>> But if i want to launch a task based on the spinner value how do you
>>>> that without calling the task in the itemlistener?
>>>>
>>>> regards,
>>>>
>>>> On Wed, Dec 21, 2011 at 10:34 PM, Kostya Vasilyev 
>>>> <[email protected]>wrote:
>>>>
>>>>> 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 <[email protected]>
>>>>> написал:
>>>>> > 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 <[email protected]>
>>>>> >>
>>>>> >> 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 <
>>>>> [email protected]>
>>>>> >> написал:
>>>>> >> > 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
>>>>> [email protected]
>>>>> >> > To unsubscribe from this group, send email to
>>>>> >> > [email protected]
>>>>> >> > 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
>>>>> [email protected]
>>>>> >> To unsubscribe from this group, send email to
>>>>> >> [email protected]
>>>>> >> 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
>>>>> [email protected]
>>>>> > To unsubscribe from this group, send email to
>>>>> > [email protected]
>>>>> > 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
>>>>> [email protected]
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected]
>>>>> 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
>>>> [email protected]
>>>> To unsubscribe from this group, send email to
>>>> [email protected]
>>>> 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 [email protected]
>>> To unsubscribe from this group, send email to
>>> [email protected]
>>> 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 [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> 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 [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> 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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to