0

Ich versuche, eine tablet-freundliche Schnittstelle einzurichten. Daher habe ich zwei Navigation Tabs, die zwei Fragmente öffnen. Hauptaktivität der onCreate:Fragment mit zwei ListFragments

@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); 

} 

Und das ist mein 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 
} 

}

Nun, ich bin auf diese API Demo: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.html, wo ich mit einem Layout eine Aktivität haben enthält je nach Bildschirmzustand ein oder zwei Fragmente. Hier kommt mein Problem: Ich habe keine Aktivität, sondern ein Fragment, und ich kann keine Möglichkeit finden, ein Layout zu deklarieren, um die beiden Unterfragmente zu erhalten. Ich hätte gerne - auf Tablets - eine Schnittstelle mit zwei Fenstern, eins mit einer "Titelliste" (die Konversationsliste) und ein anderes mit der "Detailliste" (den Texten).

Ich frage mich, ob es eine einfache Möglichkeit gibt, das zu tun, was ich erklärt habe, oder ich muss die Navigationsregisterkarten entfernen, damit ich eine Aktivität anstelle eines Fragments verwenden und der API-Demo folgen kann. Vielen Dank im Voraus.

Antwort

1

, wenn Sie das lesen documentation Sie diese Definition finden

„Ein Fragment ein Verhalten oder einen Teil der Benutzeroberfläche in einer Aktivität darstellt“ und „Ein Fragment muss immer in einer Aktivität eingebettet werden“

Also die Antwort ist meiner Meinung nach "Nein, können Sie nicht"

+0

Ist es möglich, Aktivitäten statt Fragmente für die Navigation Tabs zu verwenden? – Gnufabio

+0

Ja mit veralteten TabHost und TabWidget und ich mag diese Lösung nicht wirklich. –

Verwandte Themen