フラグメント+ RoboGuiceの使用例が見つかりました。この問題は、Androidフラグメントトランザクションマネージャを使用してフラグメントを追加/削除しようとしたときに発生します。フラグメントがRoboFragmentから継承するように指示すると、トランザクションマネージャはクラスが断片であるとはもはや考えません(RoboFragmentが拡張されているため)。ただし、RoboGuice独自のフラグメントマネージャを使用することもできますが、クラッシュすることもあります。 RoboGuiceフラグメントを動的に追加/削除する例はありますか?roboguiceとandroidの断片を使った簡単な例はありますか?
答えて
Roboguice 1.xは、互換ライブラリおよびフラグメントと互換性がありません。ベータ版の2.0を移動するか、Fragment *クラスを自分自身で拡張する必要があります。私は最近、新しいプロジェクトに断片を使用し始めました、そして次は私が継承していないよ
を使用しているコードです
http://groups.google.com/group/roboguice/browse_thread/thread/2858bc10b83b6beb
:
詳しい情報はで入手できます。 RoboFragmentクラスから、私はonCreateメソッドとonViewCreatedメソッドに次の行を追加することによってまったく同じことをしています。 RoboFragmentを継承しても、実際のRoboFragmentのようにはなりません。
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
RoboGuice.getInjector(getActivity()).injectMembersWithoutViews(this);
}
public void onViewCreated(final View view, final Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
RoboGuice.getInjector(getActivity()).injectViewMembers(this);
// Do whatever with your injected views.
}
もちろん、onCreateViewも実装しました。
私のアクティビティでは、compatibility packageを使用しているため、私はFragmentActivityを拡張しています。プレAPIレベル11との互換性を望む場合は、FragmentActivityを使用する必要があります。11をサポートしているだけの場合は、互換性ライブラリが必要ないか、FragementActivityを使用する必要はありません。私の活動では、次に私のページにフラグメントを追加するために次のものを使用しています。
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.add(R.id.fragmentHolder, new MyFragment());
transaction.commit();
R.id.fragmentHolderのタイプはFrameLayoutです。
これですべてうまく動作し、私のすべての注入リソースとビューを自分のフラグメントに使用することができます。完全性のために、最新の2.0-SNAPSHOTのroboguiceを、Android 2.2.1に対してcompatibity-v4ライブラリのr6バージョンとともに使用しています。
ありがとうございます。あなたが見つけたか、実際に意味のあることをしているフラグメントを利用できるようにするコードはありますか? – danb
私はそうは思わないけど、断片の中のアクティビティでできることは何でもできるはずです。唯一の違う部分は、あるFragmentから別のFragmentに直接通信しないでデータを渡すことです。 私はこのアプローチを見てきましたが、これはonCreate()のgetActivity()の型をチェックし、フラグメントからのデータを受け入れるために作成したインタフェースを確認することです。このように、アクティビティはこのインタフェースを実装し、必要に応じて次のフラグメントにデータを渡すことができます。 – Kingamajick
これは本当ですか? Roboguice 2.0で試してみると、IllegalArgumentExceptionが発生します:MyFragmentActivityがRoboGuiceコンテキスト(instanceof RoboContext)ではないと表示されます。 –
- 1. Androidの断片の例startActivityは黙っ
- 2. ローダーの断片化 - 断片の漏れはありますか?
- 3. Symfony2を使った簡単な例
- 4. Android Roboguice例外
- 5. Androidの断片とは、GetWindow()
- 6. プロトコルバッファを使ったGzipOutputStreamとGzipInputStreamの簡単な使用例
- 7. Androidの断片は
- 8. sbtとantlr、簡単な例がありますか?
- 9. Androidの断片ですか?
- 10. Androidの断片とスクロールバー
- 11. Androidの断片:他のフラグメントからの断片を置換
- 12. fasmとglut .incファイルを使った簡単な例
- 13. Androidの断片onBackPressed
- 14. JavaとGoogleのプロトコルバッファ:誰もこれを使い始めた簡単な例はありますか?
- 15. quartz.net与えられた時間あたりの簡単な例
- 16. 断片化していない断片の中の単純なリスト
- 17. pythonの理解簡単な例を使ったマルチプロセッシング
- 18. は、各断片に断片
- 19. phpのための簡単なOAuth2クライアントはありますか?
- 20. このラムダ式はもっと簡単になりますか?
- 21. Androidのチェックが示す何の断片ではありません
- 22. Android用の簡単なゲーム例
- 23. Golang:json Unmarshalが簡単な例を開けなかった
- 24. EAAccessoryを使用してシリアル通信を行うためのより簡単な例がありますか?
- 25. 簡単なScalaフィルタは簡単ではありません
- 26. Androidの二つの断片
- 27. Androidの断片のビューステート
- 28. AndroidのGoogleマップの断片
- 29. 指数関数時間アルゴリズムの簡単なコード例はありますか?
- 30. Androidの詳細断片
RoboGuiceとFragmentsはアプリでうまく動作しています。問題の内容を確認できるようにスタックトレースを提供できますか? –
また、どのバージョンの互換性ライブラリを使用していますか? –
私はそれも働いている。 –