При передаче данных между действиями может потребоваться передача сложных структур данных, таких как массивы. В этой статье рассматривается, как эффективно отправлять массив целых чисел из одного действия (A) в другое (B) с помощью Intent.putExtra().
Проблема:
In В действии A инициализируется массив целых чисел, который предназначен для отправки в действие B. Однако после получения данных в действии B вместо ожидаемого массива извлекается только значение «0». значения.
Решение:
Проблема заключается в несовпадении типов данных при установке и получении дополнительных значений. В предоставленном коде:
При отправке данных метод putExtra() используется с аргументом массива:
i.putExtra("numbers", array);
При получении данных метод getExtras() пытается получить данные как одно целое. целое число:
int arrayB = extras.getInt("numbers");
Правильный подход — получить данные в виде массива с помощью getIntArray () вместо этого:
int[] arrayB = extras.getIntArray("numbers");
С помощью getIntArray() полученные данные можно успешно сохранить в целочисленном массиве.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3