android - 在一个 Activity 中使用不同的 (AsyncTask) Loader

标签 android android-loader asynctaskloader

我想在我的 Activity 中使用不同的 AsyncTaskLoader(它们的返回类型不同),实现回调方法的最佳方式是什么?

这行不通:

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

eclipse 说

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

那我该怎么办?我的想法是制作 Activity

implements LoaderManager.LoaderCallbacks<Object>

然后在回调方法中检查它是什么类型的对象,但这看起来不太优雅。有没有更好的办法?

最佳答案

如何为每个回调创建一个内部类?

public class MyClass extends Activity {

  private class Callback1 implements LoaderManager.LoaderCallbacks<MyPojo> {
    ...
  }
  private class Callback2 implements LoaderManager.LoaderCallbacks<MyOtherPojo> {
    ...
  }
}

关于android - 在一个 Activity 中使用不同的 (AsyncTask) Loader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15414206/

相关文章:

Android CursorLoader 带有选择和selectionArgs[]

android - 自定义 CursorLoader 和支持 ListView 的 CursorAdapter 之间的数据不同步

android - Volley 或 ASyncTaskLoader

android - 即使在 android 中使用 TypeToken 时也会获取 com.google.gson.JsonSyntaxException?

android - 无法解析资源 @layout/date_picker_selected_date

android - 除了过早调用 cursor.close() 之外还有什么会导致 StaleDataException?

Android 在服务中使用 AsyncTaskLoader

xml - 通过菜单按钮调用首选项时强制关闭消息

android - 在 Android 中,如何以编程方式在 dp 中设置边距?

android - 无法在 AsyncTaskLoader 中取消正在运行的 AsyncTask