"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment envoyer un tableau d'entiers entre des activités à l'aide de Intent.putExtra() ?

Comment envoyer un tableau d'entiers entre des activités à l'aide de Intent.putExtra() ?

Publié le 2024-12-21
Parcourir:800

How to Send an Array of Integers Between Activities using Intent.putExtra()?

Envoi de tableaux à l'aide d'Intent.putExtra()

Lors du transfert de données entre activités, il peut être nécessaire de transmettre des structures de données complexes telles que des tableaux. Cet article explique comment envoyer efficacement un tableau d'entiers d'une activité (A) à une autre (B) à l'aide de Intent.putExtra().

Problème :

Dans activité A, un tableau d'entiers est initialisé et destiné à être envoyé à l'activité B. Cependant, dès réception des données dans l'activité B, seule la valeur '0' est récupérée au lieu du tableau attendu valeurs.

Solution :

Le problème réside dans la non-concordance des types de données lors de la définition et de la récupération de l'extra. Dans le code fourni :

  1. Lors de l'envoi des données, la méthode putExtra() est utilisée avec un argument tableau :

    i.putExtra("numbers", array);
  2. Lors de la réception des données, la méthode getExtras() tente de récupérer les données sous forme d'un seul entier :

    int arrayB = extras.getInt("numbers");

L'approche correcte consiste à recevoir les données sous forme de tableau en utilisant getIntArray () à la place :

int[] arrayB = extras.getIntArray("numbers");

En utilisant getIntArray(), les données reçues peuvent être stockées avec succès dans un tableau d'entiers.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3