You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@pivot.apache.org by Le Zhou <le...@gmail.com> on 2011/03/26 17:02:23 UTC
ActivityIndicator Question
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!
Re: ActivityIndicator Question
Posted by Le Zhou <le...@gmail.com>.
Yepp, that's what i need! Thank you, Chris. :)
On Sun, Mar 27, 2011 at 12:21 AM, Chris Bartlett <cb...@gmail.com>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 <le...@gmail.com> 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!
>>
>
>
Re: ActivityIndicator Question
Posted by Chris Bartlett <cb...@gmail.com>.
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 <le...@gmail.com> 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!
>