Yepp, that's what i need! Thank you, Chris. :)

On Sun, Mar 27, 2011 at 12:21 AM, Chris Bartlett <[email protected]>wrote:

> Have a look at this tutorial page
> http://pivot.apache.org/tutorials/background-tasks.html
>
> It sounds like you might want something similar to the 'Execute
> Asynchronously' button.
>
> You can create a Task and TaskListener.  The Task will be your code which
> might take a long time to run.  The TaskListener has taskExecuted() and
> executeFailed() method which can be used to stop the ActivityIndicator once
> the task has finished.
>
>
> http://pivot.apache.org/2.0/docs/api/org/apache/pivot/util/concurrent/Task.html
>
> http://pivot.apache.org/2.0/docs/api/org/apache/pivot/util/concurrent/TaskListener.html
>
> Chris
>
> On 26 March 2011 23:02, Le Zhou <[email protected]> wrote:
>
>> Hi all,
>>
>> i'm kinda confused by the ActivityIndicator Class. Is the
>> ActivityIndicator.setActive() invoked by
>> ButtonPressListener.buttonPressed(Button button) directly or indirectly will
>> not become effective until the PushButton is released?
>>
>> Here is my question, I have one PushButton to start a computing task, as
>> the computing task might run for pretty long time, I need to use
>> ActivityIndicator to let people who started the computing task by pressing
>> the PushButton know that the task is still running in the background and
>> everything is all right, so i have some code like below:
>>
>> ActivityIndicator activityIndicator =
>> (ActivityIndicator)namespace.get("activityIndicator");
>> PushButton pushButton = (PushButton)namespace.get("pushButton");
>> pushButton.getButtonPressListeners().add(new ButtonPressListener() {
>>         @Override
>>         public void buttonPressed(Button button) {
>>                 activityIndicator.setActive(true);
>>                 startComputingTask();
>>                 activityIndicator.setActive(false);
>>         }
>> }
>>
>> Code above doesn't work, the activityIndicator never becomes "active",
>> then i moved "activityIndicator.setActive(true);" to the first line in the
>> function body of startComputingTask(), and moved
>> "activityIndicator.setActive(false);" to the last line in the function body
>> of startComputingTask(), it doesn't work either...
>>
>> i'v no idea about how to use the ActivityIndicator to solve my problem.
>> Anyone can help me? Thanks a lot!
>>
>
>

Reply via email to