私はアンドロイド3.0+やアクションバーで作業していないので、アクションバーに実装できるタブについて質問があります。それは断片の変化にのみ制限されていますか?タブは:最初のアクティビティ、2番目のフラグメント?私がチェックアウトした例から、アクションバーを持つ主なアクティビティが1つあり、各タブの内容は別個のフラグメントです。申し訳ありませんが、私の質問が明らかなものであれば。あらかじめありがとうございます。アンドロイド3.0+アクションバーのタブ
答えて
私は、あなたがそれらのすべてのためにフラグメントを使用して最初にアクティビティを使用する利点を見ませんか?フラグメントは非常に強力で、アクティビティーと同じくらい多くを提供できます。
これは、Tabを選択したときにコールバックを取得できるはずだから、そのコールバックではアクティビティを読み込むだけです。新しいアクティビティをロードするときに、現在選択されているタブを渡して、ユーザーが選択したアクティビティを表示できるようにします。
フラグメントを使用する理由は、新しいアクティビティをロードする必要がなく、現在のフラグメントを新しいコンテンツで置き換えることができるということです。
フラグメントを切り替えなければならないということはありません。基本コードが簡単にできるように構成されています。
たとえば、タブを使用して、一度ロードしたビューレイアウト階層の要素の表示を変更するだけで、うまく動作します。ビュー階層が複雑ではない場合、断片化トランザクションを排除するので、これはずっと効率的です。おそらく、ビューの可視性を変更することはかなり効率的です。
ここであなたのフラグメントトランザクションを無視して、あなた自身のことを行う方法のアイデアを与えるために、不完全なコードの断片です:
public class AudioManagerTabListener<T extends Fragment> implements
ActionBar.TabListener {
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
switch ((Integer) tab.getTag()) {
case TAG_SHARED:
mGridViewWrapper.setVisibility(View.VISIBLE);
break;
case TAG_PLAYING:
mNowPlayingWrapper.setVisibility(View.VISIBLE);
break;
case TAG_PLAYLIST:
break;
case TAG_ARTISTS:
break;
case TAG_ALBUMS:
break;
case TAG_SONGS:
break;
}
if (DBG.AUDIO) {
Log.d(TAG,
"SettingsTabListener- onTabSelected - Tag: "
+ tab.getText());
}
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
switch ((Integer) tab.getTag()) {
case TAG_SHARED:
mGridViewWrapper.setVisibility(View.GONE);
break;
case TAG_PLAYING:
mNowPlayingWrapper.setVisibility(View.GONE);
break;
case TAG_PLAYLIST:
break;
case TAG_ARTISTS:
break;
case TAG_ALBUMS:
break;
case TAG_SONGS:
break;
}
if (DBG.AUDIO) {
Log.d(TAG,
"SettingsTabListener- onTabUnSelected - Tag: "
+ tab.getText());
}
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
if (DBG.AUDIO) {
Log.d(TAG, "SettingsTabListener- onTabReselected- Position: "
+ tab.getPosition());
}
}
}
あなたの答えをありがとう。多分別の状況のことを念頭に置いておきます。今のところ私のレイアウトは複雑になり、各タブごとに別々の断片を作成することで問題を解決しました。 – Sandra
- 1. アンドロイドのアクションバー<3.0
- 2. Androidのタブのアクションバー
- 3. アクションバーのタブがアンドロイドの画面に表示されない
- 4. Androidアクションバー - タブ付き
- 5. Googleマップのアクションバーのタブに
- 6. robotium - アクションバーのタブをクリック
- 7. アンドロイド3.0のアクションバーに表示されるアプリアイコンとラベルをカスタマイズするには
- 8. Android 3.0 honeycombアクションバーの検索ビュー
- 9. Android 3.0のアクションバーを更新する
- 10. アクションバーのタブのみを表示
- 11. アンドロイド3.0フラグメントトランジションアニメーション
- 12. アンドロイドのプロパティアニメーション<3.0
- 13. Androidアクションバー画面下部のタブ
- 14. アクションバー/タブでAndroidのカスタムテーマ設定
- 15. タブの内容をアクションバーのタブのスタイルを使用して
- 16. アプリはアンドロイド3.0タブレット
- 17. アンドロイド:アクションバーのホームボタンを無効にする
- 18. 3.0より前のバージョンのAndroidアクションバーのバッチ選択
- 19. アンドロイド - アクションバーがonConfigurationChangedでリサイズない(APPCOMPAT)
- 20. アンドロイド:タブ上のテキストや色、タブのレイアウト
- 21. アクションバーのアイテムを表示/非表示にするAndroid(3.0+)
- 22. アンドロイド内のタブ内のナビゲーション
- 23. アクションバーのタブの選択仕分けの色
- 24. アクションバーの下のタブ位置を作る方法
- 25. アイコンをアクションバーのタブの左側に置く方法
- 26. 各タブのアクションバーのタイトルを変更するandroid
- 27. アクションバーのタブを使ったフラグメント処理画面の向き
- 28. アクションバーのタブの上にビューを配置/オーバーラップ(z-インデックス)
- 29. アンドロイドのタブ変更リスナー
- 30. java.lang.IllegalStateException:アクションバーのタブにコールバックが必要です
事がされていることを、私は最初の活動で二つの断片を持つようにしたいということです最初のタブ。したがって、最初のタブにフラグメントを使用すると、そのフラグメントには2つの他のフラグメントが含まれていますか?私はちょっと混乱しています、私もあなたを混乱させないことを願っています。 – Sandra
フラグメントを別のフラグメントに埋め込むことはできません。 – Mimminito
私はそれらをアクティビティに埋め込むべきです。そのアクティビティはアクションバーのタブになる可能性があります。 :S – Sandra