Вопрос

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?

Это было полезно?

Решение

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> {
    ...
  }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top