"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como enviar uma matriz de números inteiros entre atividades usando Intent.putExtra()?

Como enviar uma matriz de números inteiros entre atividades usando Intent.putExtra()?

Publicado em 2024-12-21
Navegar:168

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

Enviando matrizes usando Intent.putExtra()

Ao transferir dados entre atividades, pode ser necessário passar estruturas de dados complexas, como matrizes. Este artigo explora como enviar efetivamente uma matriz de números inteiros de uma atividade (A) para outra (B) usando Intent.putExtra().

Problema:

In atividade A, uma matriz de inteiros é inicializada e destinada a ser enviada para a atividade B. Porém, ao receber os dados na atividade B, apenas o valor '0' é recuperado em vez da matriz esperada valores.

Solução:

O problema está na incompatibilidade de tipo de dados ao definir e recuperar o extra. No código fornecido:

  1. Ao enviar os dados, o método putExtra() é usado com um argumento de array:

    i.putExtra("numbers", array);
  2. Ao receber os dados, o método getExtras() tenta recuperar os dados como um único número inteiro:

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

A abordagem correta é receber os dados como um array usando o método getIntArray():

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

Ao usar getIntArray(), os dados recebidos podem ser armazenados com sucesso em um número inteiro variedade.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3