Maison > Java > Comment obtenir les données du fragment onViewCreated de recycleView à partir d'un autre fragment ?

Comment obtenir les données du fragment onViewCreated de recycleView à partir d'un autre fragment ?

王林
Libérer: 2024-02-11 17:51:09
avant
561 Les gens l'ont consulté

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.

Contenu de la question

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();
Copier après la connexion

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);
   }
Copier après la connexion

Comment obtenir des données dans onviewcreated namedaytrain ? (Il ira donc à l'adaptateur recyclerview)

Solution de contournement

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!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal