Joindre un fragment d'une activité dans Android
Mon ancienne version d'une application Android a été à l'aide de 4 activités différentes (FirstActivity => FourthActivity, avec le xml correspondant activity_first => activity_fourth), et l'application peut basculer entre ceux qui utilisent Intent
. Récemment, j'ai voulu changer l'interface utilisateur pour utiliser un ViewPagerIndicator
. J'ai mis en place 4 fragments comme ceci:
public class FirstFragment extends Fragment{
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
return inflater.inflate(R.layout.activity_first, null);
}
}
La question est, comment puis-je migrer l'ensemble de l'entreprise code de FirstActivity à FirstFragment? Dois-je juste besoin de trouver les équivalents de onCreate, onDestroy, onStart... et copier/coller le code (ajout de getActivity(), getView() le cas échéant)? Est-il un moyen facile de fixer le fragment d'une activité à ne pas le faire?
Vous devez vous connecter pour publier un commentaire.
La façon la plus simple de le faire est de migrer le code que vous avez eu dans vos activités en vertu de
onCreate()
àonActivityCreated()
dans les nouveaux fragments. Vous ajoutez ensuite les morceaux de votre activité à l'aide d'un fragment de transaction dans leonCreate()
méthode de votre activité. Le android docs donnent une bonne promenade à travers de ce ici, complète avec des exemples de code. Dans le cas où il y a une certaine confusion, vous allez effectuer les tâches suivantes dans votre activité sous-jacente:Obtenir un nouveau
FragmentManager
Créer une nouvelle instance de votre fragment
Ajouter que le fragment à votre
FragmentManager
Il y a un certain nombre de différentes façons d'utiliser les fragments - comme dans un
ViewPager
ouViewSwitcher
qui nécessitent une autre mise en oeuvre, mais cela sonne comme il l'adresse de ce que vous essayez de faire.