kzen.dev
  • Questions
  • Tags
  • Utilisateurs
Notifications
Récompenses
Inscription
Une fois inscrit, vous serez informé des réponses et des commentaires à vos questions.
Connectez-vous
Si vous avez déjà un compte, connectez-vous pour vérifier les nouvelles notifications.
Il y aura des récompenses pour les questions, réponses et commentaires ajoutés.
Détails
Source
Editer
 user1302569
user1302569
Question

Envoyer des données d'une activité à un fragment dans Android

J'ai deux classes. La première est l'activité, la seconde est un fragment où j'ai un EditText. Dans l'activité, j'ai une sous-classe avec une tâche asynchrone et dans la méthode doInBackground j'obtiens un résultat, que je sauvegarde dans une variable. Comment puis-je envoyer cette variable de la sous-classe "mon activité" à ce fragment ?

283 2012-10-05T05:15:03+00:00 3
Sagar Zala
Sagar Zala
Question modifiée 17 octobre 2018 в 12:29
Programmation
android
android-fragments
Cette question a 1 réponse en anglais, pour les lire connectez-vous à votre compte.
Solution / Réponse
ρяσѕρєя K
ρяσѕρєя K
5 octobre 2012 в 5:21
2012-10-05T05:21:46+00:00
Détails
Source
Editer
#17379518

Depuis l'activité, vous envoyez des données avec l'intention de :

Bundle bundle = new Bundle();
bundle.putString("edttext", "From Activity");
// set Fragmentclass Arguments
Fragmentclass fragobj = new Fragmentclass();
fragobj.setArguments(bundle);

et dans la méthode Fragment onCreateView :

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    String strtext = getArguments().getString("edttext");    
    return inflater.inflate(R.layout.fragment, container, false);
}
 Terry
Terry
Réponse modifiée 28 novembre 2013 в 8:41
605
0
 Jorgesys
Jorgesys
13 janvier 2014 в 10:44
2014-01-13T22:44:05+00:00
Détails
Source
Editer
#17379519

J´ai trouvé beaucoup de réponses ici @ stackoverflow.com mais c´est sans aucun doute la bonne réponse :

"Envoyer des données d'une activité à un fragment dans android&quot ;.

Activité:

        Bundle bundle = new Bundle();
        String myMessage = "Stackoverflow is cool!";
        bundle.putString("message", myMessage );
        FragmentClass fragInfo = new FragmentClass();
        fragInfo.setArguments(bundle);
        transaction.replace(R.id.fragment_single, fragInfo);
        transaction.commit();

Fragmentation:

Lecture de la valeur dans le fragment

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        Bundle bundle = this.getArguments();
        String myValue = bundle.getString("message");
        ...
        ...
        ...
        }

ou simplement

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        String myValue = this.getArguments().getString("message");
        ...
        ...
        ...
        }
 Jorgesys
Jorgesys
Réponse modifiée 15 octobre 2014 в 10:33
42
0
 Martin
Martin
5 octobre 2012 в 5:21
2012-10-05T05:21:35+00:00
Détails
Source
Editer
#17379517

Si vous passez une référence au fragment (sous-classe concrète du) dans la tâche asynchrone, vous pouvez alors accéder directement au fragment.

Quelques façons de passer la référence du fragment dans la tâche asynchrone :

  • Si votre tâche async est une classe à part entière (class FooTask extends AsyncTask), alors passez votre fragment dans le constructeur.
  • Si votre tâche asynchrone est une classe interne, déclarez simplement une variable Fragment finale dans le scope où la tâche asynchrone est définie, ou comme un champ de la classe externe. Vous pourrez y accéder à partir de la classe interne.
7
0
Communautés apparentées 1
Android 🇫🇷
Android 🇫🇷
40 utilisateurs
@Linux_Fr
Ouvrir telegram
Ajouter une question
Catégories
Toutes
Technologie
Culture / Loisirs
Vie / Arts
Science
Professionnel
Entreprises
Utilisateurs
Tous
Nouveau
Populaire
1
Ilya Smirnov
Enregistré il y a 2 jours
2
Денис Васьков
Enregistré il y a 3 jours
3
Dima Patrushev
Enregistré il y a 6 jours
4
sirojidddin otaboyev
Enregistré il y a 2 semaines
5
Елена Гайдамамакинат
Enregistré il y a 2 semaines
DE
EL
ES
FR
ID
IT
JA
KO
LT
NL
NO
PT
RO
RU
TR
ZH
© kzen.dev 2023
Source
stackoverflow.com
sous licence cc by-sa 3.0 avec l'attribution