2

アクティビティでさまざまな AsyncTaskLoaders (戻り値の型が異なる) を使用したいのですが、コールバック メソッドを実装する最良の方法は何ですか?

これはうまくいきません:

パブリック クラス MyActivity は Activity を拡張し、LoaderManager.LoaderCallbacks<MyPojo>、LoaderManager.LoaderCallbacks<MyOtherPojo> を実装します

エクリプス 言う

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

それで、私は何をしますか?私の考えは、アクティビティを作成することです

LoaderManager.LoaderCallbacks<Object> を実装します

次に、コールバック メソッドでそれがどのタイプのオブジェクトであるかを確認しますが、それはあまりエレガントではないようです。より良い方法はありますか?

4

1 に答える 1

9

コールバックごとに内部クラスを作成するのはどうですか?

public class MyClass extends Activity {

  private class Callback1 implements LoaderManager.LoaderCallbacks<MyPojo> {
    ...
  }
  private class Callback2 implements LoaderManager.LoaderCallbacks<MyOtherPojo> {
    ...
  }
}
于 2013-03-14T16:20:43.977 に答える