Je (au moins) essayer de mettre en œuvre que une activité et remplacer divers fragments dans le cadre de contenu. Vous devez savoir que l'exemple contient différentes approches d'un, vous devez choisir un ;)
donc ayant un fragment menu et le contenu que vous pourriez commencer comme ci-dessous (comparez ResponsiveUIActivity
aussi).
public class StartActivity extends SlidingFragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
Fragment contentFragment = InitialFragment()
getSupportFragmentManager().beginTransaction()
.replace(R.id.content_frame, contentFragment).commit();
getSupportFragmentManager().beginTransaction()
.replace(R.id.menu_frame, new MenuFragment()).commit();
...
}
public void switchContent(final Fragment fragment) {
// replace fragment in content frame
...
}
Dans le fragment de menu, vous pouvez créer de nouveaux fragments selon le choix des utilisateurs (comparer BirdMenuFragment
):
public class MenuFragment extends ListFragment {
@Override
public void onListItemClick(ListView lv, View v, int position, long id) {
Fragment newContent = null;
switch (position) {
case 1 : new ThisFragment();
break;
case 2 : new ThatFragment();
break;
case 3 : new AnotherFragment();
break;
}
if (newContent != null) switchFragment(newContent);
}
private void switchFragment(Fragment fragment) {
// call StartActivity.switchContent
...
}
Enfin, la colle entre l'activité et le fragment de menu est MenuFragment.switchFragment(Fragment fragment)
et StartActivity.switchContent(final Fragment fragment)
alors que le menu La méthode fragment appelle la méthode d'activité pour remplacer le fragment de contenu dans la trame de contenu (comparez les classes BirdMenuFragment
et ResponsiveUIActivity
dans l'exemple). Ceci est juste un aperçu de la façon dont vous pourriez implémenter le SlidingMenu et comment vous pourriez remplacer les fragments dans le cadre de contenu. Il y a bien sûr quelques défis à relever.
En tout cas, j'espère que je pourrais aider un peu ... Cheers!
Pouvez-vous s'il vous plaît expliquer plus :) Qu'est-ce que newFragment ici et comment remplacer fragment dans le cadre de contenu. – dracula
Regardez celui-ci: https://github.com/jfeinstein10/SlidingMenu/blob/master/example/src/com/slidingmenu/example/fragments/ResponsiveUIActivity.java pour 'switchContent()' et celui-ci: https://github.com/jfeinstein10/SlidingMenu/blob/master/example/src/com/slidingmenu/example/fragments/BirdMenuFragment.java pour 'switchFragment()'; en plus j'ai corrigé celui-ci: 'new contentFragment' ci-dessus - il ne devrait pas y avoir de' new'. Que voulez-vous dire par 'newFragment'? Je n'ai pas utilisé ça. – Trinimon
Okey, je comprends plus maintenant. Dans mon code, je n'ai pas de fragments différents. J'ai des activités. Par exemple, ListActivity étend BaseActivity, comment puis-je changer de contenu sur ListActivity? – dracula