0

asynctaskloader1つで2つのタイプを使いたいですFragmentActivity

class MyLoader1 extends AsyncTaskLoader<String>{}
class MyLoader2 extends AsyncTaskLoader<Integer>{}

私は次のように書きます。しかし、それはエラーをコンパイルします。

public class MyActivity extends FragmentActivity 
               implements LoaderCallbacks<String>, LoaderCallbacks<Integer>{}

簡単なサンプルコードで答えを見せてください。


本当にありがとう。

4

1 に答える 1

1

hjpotter92 が言及しているように、これは Java がジェネリックを処理する方法です。この場合、hjpotter92 のリンクに示されているように、匿名クラスを使用することをお勧めします。

public class MyActivity extends FragmentActivity {
     private LoaderCallbacks<String> mLoaderCallbackString = new LoaderCallbacks<String>() {
           ...
     };

     private LoaderCallbacks<Integer> mLoaderCallbackInteger = new LoaderCallbacks<Integer>() {
           ...
     };
}

次に、ローダーごとに、正しい LoaderCallbacks オブジェクトを渡すだけです

于 2013-04-17T14:20:03.407 に答える