Dans le développement Android, Fragment est un composant important utilisé pour créer des interfaces utilisateur flexibles. Lors de l'utilisation de Fragment, nous devons parfois obtenir des données d'un Fragment dans un autre Fragment. Ensuite, dans la méthode onViewCreated du fragment, nous pouvons obtenir les données du RecyclerView dans d'autres fragments via la méthode findViewById. Tout d’abord, nous devons nous assurer que RecyclerView a été initialisé et rempli de données avant d’obtenir les données. Ensuite, nous pouvons obtenir l'instance du Fragment cible via la méthode findFragmentById de FragmentManager, puis obtenir l'instance de RecyclerView via la méthode findViewById de l'instance. Enfin, nous pouvons obtenir les données via l'adaptateur RecyclerView. De cette façon, nous pouvons obtenir les données de RecyclerView dans un autre fragment du fragment actuel. Il s'agit d'une méthode simple et efficace qui peut nous aider à mieux gérer le transfert et le partage de données dans le développement Android.
J'ai fragment workoutfragment et bundle pour transférer des données vers fragment delitefragment :
fragmentmanager fragmentmanager = getfragmentmanager(); fragmenttransaction fragmenttransaction = fragmentmanager.begintransaction(); fragmenttransaction.replace(r.id.fragment_container, new delitefragment()); fragmenttransaction.commit();
Dans delitefragment, j'ai une méthode onviewcreated où l'appel de données de vue du recycleur est verrouillé.
@Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); //******************************** getting data from DeliteFragment getParentFragmentManager().setFragmentResultListener("text from WOF to AFJ", this, new FragmentResultListener() { @Override public void onFragmentResult(@NonNull String requestKey, @NonNull Bundle textBundle) { Integer number_workout_train_position = textBundle.getInt("text from WOF to AFJ"); String nameDayTrain = new CardSourceImplDayTrain(getActivity()).getCardData(number_workout_train_position).getTitle().toString(); } }); String nameDayTrainRW = nameDayTrain; recyclerView = view.findViewById(R.id.train_delite_recycleView); cardSource = new CardSourceImplDelite(getActivity().getApplicationContext(),nameDayTrainRW,nameDayTrainRW); adapter = new itemAdapterDelite(cardSource); }
Comment obtenir des données dans onviewcreated namedaytrain ? (Il ira donc à l'adaptateur recyclerview)
Utilisez la bibliothèque de modèles de vue AndroidX pour communiquer avec votre activité et vos fragments. C'est très simple ✍️
Ici : Modèle de vue AndroidX Jetpack
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!