0

タブレットに適したインターフェイスをセットアップしようとしています。したがって、2 つのフラグメントを開く 2 つのナビゲーション タブがあります。メイン アクティビティの onCreate:

 @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mActionBar = getActionBar();
    mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    Tab mainTab = mActionBar.newTab()
            .setText("Articoli")
            .setTabListener(new TabEventListener(new InListFragment(0)));
    Tab favTab = mActionBar.newTab()
            .setText("Preferiti")
            .setTabListener(new TabEventListener(new TestFragment("Preferiti")));

    mActionBar.addTab(mainTab);
    mActionBar.addTab(favTab);

}

そして、これは私の TabEvengListener です:

public class TabEventListener implements TabListener {
Fragment mFragment;

public TabEventListener(Fragment fragment) {
    mFragment = fragment;
}

public void onTabSelected(Tab tab, FragmentTransaction ft) {
    ft.replace(android.R.id.content, mFragment, mFragment.getTag());
}

public void onTabUnselected(Tab tab, FragmentTransaction ft) {
    ft.remove(mFragment);
}

public void onTabReselected(Tab tab, FragmentTransaction ft) {
    //NOTHING ATM
}

}

今、私はこの API デモを参照しています: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.htmlここで、レイアウトのあるアクティビティがあります。画面の状態に応じて、1 つまたは 2 つのフラグメントが含まれます。ここで問題が発生します。アクティビティではなくフラグメントであり、2 つのサブフラグメントを取得するためにレイアウトを宣言する方法が見つかりません。私は、タブレット上に、「タイトル リスト」(会話リスト) と「詳細リスト」(テキスト) の 2 つのペインを持つインターフェイスが必要です。

私が説明したことを行う簡単な方法があるのか​​ 、それともフラグメントの代わりにアクティビティを使用して API デモに従うことができるように、ナビゲーション タブを削除する必要があるのか​​ 疑問に思っていました。前もって感謝します。

4

1 に答える 1

1

ドキュメントを読むと、この定義が見つかります

「フラグメントは、アクティビティの動作またはユーザー インターフェイスの一部を表します」および「フラグメントは常にアクティビティに埋め込む必要があります」

したがって、私の意見では、答えは「いいえ、できません」です。

于 2012-04-12T22:36:29.567 に答える