Question

I want to use different AsyncTaskLoaders (different in their return type) in my Activity, what's the best way to implement the callback methods?

This won't work:

public class MyActivity extends Activity implements LoaderManager.LoaderCallbacks<MyPojo>, LoaderManager.LoaderCallbacks<MyOtherPojo>

Eclipse says

The interface LoaderCallbacks cannot be implemented more than once with different arguments

So what do I do? My idea is to make the Activity

implements LoaderManager.LoaderCallbacks<Object>

then check in the callback methods what type of object it is but that doesn't seem too elegant. Is there a better way?

Was it helpful?

Solution

What about creating an inner class for each callback?

public class MyClass extends Activity {

  private class Callback1 implements LoaderManager.LoaderCallbacks<MyPojo> {
    ...
  }
  private class Callback2 implements LoaderManager.LoaderCallbacks<MyOtherPojo> {
    ...
  }
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top