Maison  >  Article  >  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 ?

王林
王林avant
2024-02-11 17:51:09475parcourir

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();

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)

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer