9

この問題に関連するいくつかの議論を見つけましたが、明確または決定的なものは何もありません。

タブベースのアプリケーションを構築する場合、(A)各画面にアクティビティを含むTabHostを使用するか、(B)各画面にフラグメントを含むActionBarを使用するかを選択する必要があるようです。これはいくつかの質問を提起します:

1)それは本当のジレンマですか、それともさまざまなアクティビティでActionBarを使用できますか。

2)ジレンマが現実のものである場合、なぜこのように設定されているのですか?Googleは、タブベースのナビゲーションに対するTabHostおよびマルチアクティビティアプローチを廃止する予定ですか?複数のアクティビティのアプローチについて不快な点はありますか?

3)両方のアプローチが引き続きサポートされる場合、それぞれの長所と短所は何ですか?ActionBar + Fragmentsを使用する場合、今後の落とし穴に遭遇しますか?たとえば、タブ付きの画面の1つをスライドさせたり、追加の画面/フラグメントをポップオンしたりする場合、アクションバーのタブに切り替えたり、タブから切り替えたりすると、おかしな動作が発生しますか?

4

2 に答える 2

3

フラグメントで TabHost を使用する 3 番目のオプションもあります。これにより、子として 1 つのアクティビティと複数のフラグメントしかない場所になります。

http://developer.android.com/reference/android/support/v4/app/FragmentTabHost.html

このクラスを使用して簡単な例を作成しました。

https://github.com/marsucsb/nested-fragments

于 2012-11-16T19:47:52.543 に答える
1

同感です。私は Fragments が登場する前に "Droid Bones" (必ず引用符を使用してください) の開発を開始しました。そのアーキテクチャを検討し始めたとき、それは私の構造要件に対応できないように見えました。そうは言っても、複数アクティビティのアプローチは非常に流動的で柔軟であることがわかりました。私の懸念は、TabHost のドキュメントの一部が最近「行方不明」になったように見えることです!

于 2012-11-16T16:06:42.517 に答える