私はアンドロイド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. アンドロイド:CardViewは、アクションバー
- 5. Androidアクションバー - タブ付き
- 6. Delphiのアンドロイドは、アクションバー
- 7. Googleマップのアクションバーのタブに
- 8. robotium - アクションバーのタブをクリック
- 9. アンドロイド3.0のアクションバーに表示されるアプリアイコンとラベルをカスタマイズするには
- 10. Android 3.0のアクションバーを更新する
- 11. Android 3.0 honeycombアクションバーの検索ビュー
- 12. アクションバーのタブのみを表示
- 13. アンドロイド3.0フラグメントトランジションアニメーション
- 14. アンドロイドのプロパティアニメーション<3.0
- 15. アクションバー/タブでAndroidのカスタムテーマ設定
- 16. アクションバーのタブでアクティビティが発生する
- 17. Androidアクションバー画面下部のタブ
- 18. タブの内容をアクションバーのタブのスタイルを使用して
- 19. アプリはアンドロイド3.0タブレット
- 20. アンドロイドのステータスバーにあるnativescriptアクションバー
- 21. アンドロイド:アクションバーのホームボタンを無効にする
- 22. java.lang.IllegalStateExceptionアクションバーをアンドロイドのツールバーに移動中
- 23. アンドロイド3.0エラーのGradle imortエラー
- 24. 3.0より前のバージョンのAndroidアクションバーのバッチ選択
- 25. (アンドロイド)アクションバー/ツールバーをスムーズに隠すには?
- 26. アンドロイド - アクションバーがonConfigurationChangedでリサイズない(APPCOMPAT)
- 27. アンドロイド:タブ上のテキストや色、タブのレイアウト
- 28. アクションバーのアイテムを表示/非表示にするAndroid(3.0+)
- 29. 私はアンドロイドのスタジオからアンドロイドスタジオ3.0へのアップグレード3.0
- 30. アンドロイド内のタブ内のナビゲーション
事がされていることを、私は最初の活動で二つの断片を持つようにしたいということです最初のタブ。したがって、最初のタブにフラグメントを使用すると、そのフラグメントには2つの他のフラグメントが含まれていますか?私はちょっと混乱しています、私もあなたを混乱させないことを願っています。 – Sandra
フラグメントを別のフラグメントに埋め込むことはできません。 – Mimminito
私はそれらをアクティビティに埋め込むべきです。そのアクティビティはアクションバーのタブになる可能性があります。 :S – Sandra