1

I'm new to java/android.

I have an service class that have 2 methods.... prepare() and execute()..

both are async calls, so what I have to do is, call prepare() and wait for prepareFinished I'm listen to.... when the prepare method is finished, for the same service instance I'd like to call execute() method.....

Follow my try below:

for(int idx = 0; idx < services.length; idx++)
{
    MyService instance = services[idx];
    instance.setDataReadListener(new AsyncDataReadListener() {
        @Override
        public void prepareFinished(ServiceInfo info) {

           //I would like to get the self instannce here to call another 
                       //method after been prepared. something like::: sender.execute()

        }
    });
}

//In a button click I call above,  for each service its prepared I would like another method of the same service instance to be called:
for(int idx = 0; idx < services.length; idx++)
{
    MyService instance = services[idx];
    //async call
    instance.prepare();
}

How can I accomplish it?

Tks.

4

3 回答 3

0

使实例最终:

final MyService instance = services[idx];

你可以instance.execute()在里面打电话prepareFinished

于 2013-05-10T01:10:35.647 回答
0

直接制作instance final并引用它:

for(int idx = 0; idx < services.length; idx++)
{
    final MyService instance = services[idx];
    instance.setDataReadListener(new AsyncDataReadListener() {
        @Override
        public void prepareFinished(ServiceInfo info) {
            instance.execute()
        }
    });
}
于 2013-05-10T01:10:55.080 回答
0

这种方法有什么问题?

final MyService instance = services[idx];
instance.setDataReadListener(new AsyncDataReadListener() {
    @Override
    public void prepareFinished(ServiceInfo info) {

       instance.execute();
    }
});
于 2013-05-10T01:11:15.283 回答