68 votes

Envoi de tableaux avec Intent.putExtra

J'ai un tableau d'entiers dans l'activité A :

int array[] = {1,2,3};

Et je veux envoyer cette variable à l'activité B, donc je crée une nouvelle intention et utilise la méthode putExtra :

Intent i = new Intent(A.this, B.class);
i.putExtra("numbers", array);
startActivity(i);

Dans l'activité B, j'obtiens l'information :

Bundle extras = getIntent().getExtras();
int arrayB = extras.getInt("numbers");

Mais ce n'est pas vraiment envoyer le tableau, je reçois juste la valeur '0' sur le tableau B. J'ai cherché des exemples mais je n'ai rien trouvé.

86voto

mbaird Points 31293

Vous définissez l'extra avec un tableau. Vous essayez ensuite d'obtenir un seul int.

Votre code devrait être :

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

-2voto

final static String EXTRA_MESSAGE = "edit.list.message";

Context context;
public void onClick (View view)
{   
    Intent intent = new Intent(this,display.class);
    RelativeLayout relativeLayout = (RelativeLayout) view.getParent();

    TextView textView = (TextView) relativeLayout.findViewById(R.id.textView1);
    String message = textView.getText().toString();

    intent.putExtra(EXTRA_MESSAGE,message);
    startActivity(intent);
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X