Передача двух строк между действиями, но обе строки Receive одинаковы

1Быстрый вопрос

До сих пор я отправлял 1 строку в свое следующее действие, и она работала нормально, но когда я пытался добавить вторую строку, я всегда пропускал одну из моих переданных строк. Я упускаю что-то очевидное? Когда я переключаю последнюю отправленную дополнительную строку, это значение, которое отображаются в обеих полученных строках.

Пример:

Оба значения в действии 2 равны только 1 из значений, отправленных из действия 1 (последнее отправленное значение из действия 1). Действие 1 отправляет: string1_send = "str1" string2_send = "str2"

Действие 2 получает: string1_rcv, ожидая "str1", но получая "str2". string2_rcv, ожидая "str2" и получая "str2"

Activity1:

public void newGame (View view1)
    {

        Intent intent1 = new Intent(this, gameScreen.class);
        if(musicEnable == true){

            intent1.putExtra(musicEnablePass, "music_ON");
            intent1.putExtra(aviMF_choice, aviSelected);
        }
        else{
            intent1.putExtra(musicEnablePass, "music_OFF");
            intent1.putExtra(aviMF_choice, aviSelected);
        }
        startActivity(intent1);
    } //aviSelected is a string "male"

Activity2 (в моем onCreate):

Bundle extras = getIntent().getExtras();
        if (extras != null) {
            aviChoice = extras.getString(aviMF_choice);
            Log.i("test", ""+musicEnabled_Pass +" , "+aviChoice); // returns "null, null"
            musicEnabled_Pass = extras.getString(musicEnablePass);
            Log.i("test", ""+musicEnabled_Pass +" , "+aviChoice); // returns [aviMF_choice value],[aviMF_choice value]

        }
DrifterGuy

Измените свои ключи с переменных на простые строки. В настоящее время ваша «Activity2» получает только одну строку и назначает ее дважды, потому что ваши ключи не «распознаются» как два разных уникальных ключа, поскольку вы не назначили их как таковые. Причина, по которой он вообще работает, заключается в том, что вы эффективно отправляете данные, поэтому в действии 2 он действительно видит, что «extras! = Null», но предоставляет только значение по умолчанию (вероятно, единственный ключ, о котором он знает: последний отправленный). Если вы уже не присвоили уникальные строки каждому соответствующему ключу. Пример, ваш "musicEnablePass" может быть просто нулевой переменной,

String musicEnablePass; // this returns a null value/string

против

String musicEnablePass = "musicEnablePass";

Так что измените (свой код):

Activity1.java

intent1.putExtra(musicEnablePass, "music_ON");
intent1.putExtra(aviMF_choice, aviSelected);

Действие 2. java

aviChoice = extras.getString(aviMF_choice);
            Log.i("test", ""+musicEnabled_Pass +" , "+aviChoice); // returns "null, null"
musicEnabled_Pass = extras.getString(musicEnablePass);

К этому (исправленный код): Activity1.java

intent1.putExtra("musicEnablePass", "music_ON");
intent1.putExtra("aviMF_choice", aviSelected);

Действие 2. java

aviChoice = extras.getString("aviMF_choice");
            Log.i("test", ""+musicEnabled_Pass +" , "+aviChoice); // returns "null, null"
musicEnabled_Pass = extras.getString("musicEnablePass");

Эта статья взята из Интернета, укажите источник при перепечатке.

Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.

Отредактировано в
0

я говорю два предложения

0обзор
Войти в системуУчаствуйте в комментариях

Статьи по теме

Как всегда вызывать метод внутри receive (), даже если ничего не совпадает

Случай в эликсире и аналогичный синтаксис с использованием `receive`

Почему метод receive () не получает данные от клиента?

Как работает JMS Receive внутри?

Добавление таймаута в DatagramSocket - receive ()

Как выполнить модульное тестирование обратного вызова pubsub Receive

Erlang: порождать процесс и ждать завершения без использования `receive`

это правильный способ вызвать сокет Send / Receive

Могу ли я разбудить поток, заблокированный из-за вызова DatagramSocket.receive ()?

Android Receive: получение текста через Bluetooth

Rspec: как использовать функцию expect to receive с ресурсом, который еще не существует?

C # UdpCLient.Receive не получает данные на другом компьютере

Multiple RTSPs receive method

MQ MessageConsumer не отвечает на метод receive ()

Определите, вызвано ли SocketException из UdpClient.Receive тайм-аутом

Расшифровка необработанных байтов, полученных udp_receive, с помощью as (кодов)

Как использовать сообщение HTTP Receive GET в оркестровке?

Почему Actor.receive частичная функция?

как я могу остановить метод блока DatagramSocket.receive () в потоке

Socket.Receive () работает должным образом только при пошаговой отладке кода.

Переменная Elixir небезопасна, так как она установлена в case / cond / receive

Проблема с разрешением Receive_SMS

Как `receive.denyCurrentBranch = updateInstead` взаимодействует с индексом?

Несколько websocket.receive в каналах django

Прервать поток в DatagramSocket.receive

Component receive list as parameter

Экспорт не работает при вызове из сеанса ssh, созданного с помощью обработчика post-receive

Является ли WebSocket Send / Receive потокобезопасным (безопасным для повседневного использования)?

Android: Receive SMS

TOP список

  1. 1

    Распределение Рэлея Curve_fit на Python

  2. 2

    Как не использовать HttpClient с ЛЮБЫМ сертификата SSL, независимо от того, как «плохо» это

  3. 3

    Modbus Python Schneider PM5300

  4. 4

    (fields.E300) Поле определяет связь с моделью, которая либо не установлена, либо является абстрактной.

  5. 5

    Elasticsearch - Нечеткий поиск не дает предложения

  6. 6

    TypeError: store.getState não é uma função. (Em 'store.getState ()', 'store.getState' é indefinido, como posso resolver esse problema?

  7. 7

    Перебирайте несколько столбцов в фрейме данных Panda и находите уникальные значения подсчета

  8. 8

    Merging legends in plotly subplot

  9. 9

    SQL Вычтите две строки друг от друга в одном столбце, чтобы получить результат

  10. 10

    Автозаполнение с Java, Redis, Elastic Search, Монго

  11. 11

    Vue js CLI 2 импортирует и использует плагин javascript

  12. 12

    Метод ошибки Illuminate \\ Database \\ Eloquent \\ Collection :: save не существует. в Laravel

  13. 13

    Single legend for Plotly subplot for line plots created from two data frames in R

  14. 14

    В чем разница между CRC-16 / CCITT-FALSE и CRC-16 / X-25?

  15. 15

    Ленивое объединение FPU в Cortex-M4F

  16. 16

    Как очистить или очистить StringBuilder?

  17. 17

    PyQt5 не работает как «подходящий UI Toolkit» для Mayavi с Python 3.6.

  18. 18

    В типе Observable <unknown> отсутствуют следующие свойства из типа Promise <any>.

  19. 19

    Vue 2 / Vue CLI 3: создание асинхронных однофайловых компонентов

  20. 20

    Текущая ветка не настроена для извлечения В конфигурации не найдено значение для ключа branch.master.merge

  21. 21

    Проблемы со сборкой Python Image Registration Toolkit

популярныйтег

файл