2010-12-13 3 views
22

J'ai 2 chaînes de caractères à l'intérieur Première activité - A, maintenant j'ai besoin de passer les deux tableaux à la deuxième_activité - B, comment puis-je le faire?Passer le tableau de chaînes entre les activités android

Je sais sur le Intent genre de concept dans Android et déjà passé juste valeur unique variable à une autre activité, mais je n'ai pas mettre en œuvre le concept de passage des réseaux de cordes entre les activités, je l'ai déjà surfé net pour la même .

pls laissez-moi savoir sur la solution possible.

Répondre

68
Bundle b=new Bundle(); 
b.putStringArray(key, new String[]{value1, value2}); 
Intent i=new Intent(context, Class); 
i.putExtras(b); 


Espérons que cela vous aidera.

Pour lire:

Bundle b=this.getIntent().getExtras(); 
String[] array=b.getStringArray(key); 
+0

@viv Thanx pour le soutien rapide, mais pouvez-vous s'il vous plaît me faire savoir au sujet de « clé », est-il une valeur unique ou un tableau ? pls –

+0

c'est juste un nom avec lequel vous voulez attraper votre tableau dans une autre activité ...... ex: array1 ou array2: ainsi vous ne l'attraperez par ce nom que dans une autre activité ...... – viv

+0

@viv j'ai fait, ce qui devrait être fait pour lire le paquet dans la deuxième activité? –

3

Intentions transportent des données dans une carte-valeur de clé, où « clé » est un identificateur de nom de chaîne que vous choisissez lors du stockage des données dans l'intention. Lorsque vous lisez ces données, vous demandez la même «clé». Vous pouvez stocker différents types de données dans une seule intention.

+0

ya que je faisais une erreur stupide tout en posant une question concernant "clé", à propos merci pour le soutien –

4

Pas directement une réponse à la question mais vous pouvez également utiliser .putStringArrayListExtra() dans votre ensemble. Il est plus flexible que l'envoi de tableau de chaînes.

Bundle b=new Bundle(); 
b.putStringArrayListExtra("URL_ARRAY_LIST", 
         myStringArrayList); 
Intent i=new Intent(context, Class); 
i.putExtras(b); 

Ensuite, vous pouvez obtenir ce arrayList comme suit:

ArrayList<String> urls; 
urls = getIntent().getStringArrayListExtra("URL_ARRAY_LIST"); 
+1

Oui ce n'est pas une réponse à la question exactement mais oui nous pouvons utiliser cette solution alternative. BTW, la question a presque 4 ans :-) –

+0

@PareshMayani Je sais qu'il est vieux j'ai besoin de transmettre des données de chaîne à travers deux activités qui étaient dynamiques, donc le tableau de chaînes serait inefficace car nous ne pouvions pas modifier la taille c'était la solution ma question et je voulais le partager. –

+0

@PareshMayani après quatre ans avez-vous rencontré une nouvelle solution? –

Questions connexes