Я хочу использовать разные AsyncTaskLoaders (разные по типу возврата) в моей работе, что лучший способ реализовать методы обратного вызова?Использовать разные (AsyncTask) Loaders в одном действии
Это не будет работать:
общественный класс MyActivity расширяет активность реализует LoaderManager.LoaderCallbacks < MyPojo>, LoaderManager.LoaderCallbacks < MyOtherPojo>
Затмение говорит
The interface LoaderCallbacks cannot be implemented more than once with different arguments
Так что мне делать? Моя идея заключается в том, чтобы сделать деятельность
Реализует LoaderManager.LoaderCallbacks < Object>
затем проверить в методах обратного вызова, какой тип объекта он является, но это, кажется, не слишком элегантно. Есть ли способ лучше?
Блестящий, спасибо кучу! – FWeigl
Но как вы можете вызвать загрузчик инициализации в этом случае? –
@AmeyJahagirdar С новым экземпляром внутреннего класса:. 'getLoaderManager() initLoader (LOADER_MYPOJO_ID, нуль, новый Callback1());' Или, если несколько Погрузчики должны использовать один и тот же обратный вызов (грузчики должны быть registrered с явными идентификаторами, поэтому onCreateLoader и onLoadFinished могут отличить, откуда был вызван обратный вызов), вы можете иметь активность у компонента обратного вызова и использовать его для initLoader(): 'private final LoaderCallbacks reusableCallback1 = new LoaderCallbacks {...}; ' –