Comment ajouter un autre fragment sur le fragment?
Je suis en train de créer tab layout with fragments
. Quand j'ajoute un autre fragment sur l'élément, cliquez sur il devrait montrer un autre fragment ci-dessus. Je suis incapable de l'atteindre. Fragment va juste au-dessus de l'existant, mais à la fois les fragments de contenu sont visibles. Merci de ne pas jeter le lien vers n'importe quel développeur de page pour les explications.
Voici mon code
home_activity.xml
<TabHost
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<fragment
android:id="@+id/tab1"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.example.tabsfragment.School_Fragment" >
</fragment>
<fragment
android:id="@+id/tab2"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.example.tabsfragment.Sports_Fragment" >
</fragment>
</FrameLayout>
</LinearLayout>
</TabHost>
Home_Activity.java
public class Home_Activity extends FragmentActivity {
TabHost mHost;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home_activity);
mHost = (TabHost) findViewById(android.R.id.tabhost);
mHost.setup();
TabSpec schoolSpec = mHost.newTabSpec("School").setIndicator("School")
.setContent(R.id.tab1);
mHost.addTab(schoolSpec);
TabSpec sportSpec = mHost.newTabSpec("Sports").setIndicator("Sportss")
.setContent(R.id.tab2);
mHost.addTab(sportSpec);
mHost.setCurrentTab(1);
}
entertainment.xml
<FrameLayout
android:id="@+id/frameContainer"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</FrameLayout>
J'ai ajouté un autre fragment de list_item_click
à l'intérieur de Sports_Fragment
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
//TODO Auto-generated method stub
FragmentTransaction ft = getFragmentManager().beginTransaction();
Entertainment_Fragment enFragment = new Entertainment_Fragment();
ft.replace(android.R.id.tabcontent, enFragment);
ft.commit();
}
Voici la capture d'écran :
Toutes les idées/faciliter l'explication serait très appréciée.
Merci!!
je suis en train de créer de l'onglet mise en page avec des fragments - ne. Des Fragments sous forme d'onglets sont destinés à être ajoutés au moment de l'exécution.
alors, quelle est la façon de le faire?? Un exemple plz
dev j'ai mis en œuvre personnalisée swipeTabs+viewpager pas sherlockActiionBar. Si vous voulez, alors je peux poster ici solution..c'est facile à mettre en œuvre.mais le truc, c'est que vous ne pouvez pas ajouter un fragment de façon dynamique.C'est donc à vous de voir.
Commentaire ci-dessus indique que les fragments sont à ajouter à une exécution
dev sry je n'ai pas mis en place le code que vous voulez..!
alors, quelle est la façon de le faire?? Un exemple plz
dev j'ai mis en œuvre personnalisée swipeTabs+viewpager pas sherlockActiionBar. Si vous voulez, alors je peux poster ici solution..c'est facile à mettre en œuvre.mais le truc, c'est que vous ne pouvez pas ajouter un fragment de façon dynamique.C'est donc à vous de voir.
Commentaire ci-dessus indique que les fragments sont à ajouter à une exécution
dev sry je n'ai pas mis en place le code que vous voulez..!
OriginalL'auteur moDev | 2013-05-23
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, je pense qu'il vaut la peine de mentionner...
Veuillez voir
Android: ne peut pas remplacer un fragment à un autre
Comment puis-je montrer un nouveau Fragment dans un seul onglet?
Voici la solution.
Dans home_activity.xml, vous devez laisser votre tabcontent vide.
Votre Home_Activity
Dans votre onIemClick (Sports_Fragment), ajouter cette
Mon projet, qui est basé sur votre code, est ici.
Je n'ai pas eu la chance de vraiment vérifier pourquoi TabHost ne fonctionne pas quand je l'ai testé votre code.
Mais FragmentTabHost fonctionne très bien pour moi.
Edit: Pour résoudre le problème de chevauchement, vous pouvez définir OnTabChangeListener:
Sur le backpress, vous pouvez essayer de
Si j'ai plusieurs fragments sur un onglet, puis comment faire pour revenir sur le fragment à l'aide de backpress??
Je suis au travail maintenant. Je vais revenir à vous si j'ai une chance.
Essayez de regarder le plus vite possible
Permettez-moi de le vérifier
OriginalL'auteur pt2121