getbundle имеет значение null при запуске предыдущего действия через намерение - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть два действия в моем коде FirstActivity и SecondActivity.

Из FirstActivity я запускаю SecondActivity, см. Код ниже

        Intent intent = new Intent(getBaseContext(), SecondActivity.class);
        intent.putExtra("text", "someValue");
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
        startActivity(intent);

, и это работает нормально, я могу прочитать значение в SecondActivity iя добавил в putExtra в FirstActivity.

Из SecondActivity у меня есть некоторый сложный код, но в некоторых местах мне нужно запустить FirstActivity, и я делаю это с помощью следующего кода

            Intent intent = new Intent(getBaseContext(), FirstActivity);
            Bundle bundle = new Bundle();

            /* tested with both bundle and put extra none of them worked
            */
            bundle.putString("text2", "someOtherString");
            intent.putExtra("text3", "someOtherString");                 
            intent.putExtras(bundle);

            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);
            finish();

Это запускает FirstActivity, но когдая проверяю код (в FirstActivity)

@Override
protected void onStart() {
    super.onStart();
    Intent intent = getIntent();
    if(intent != null) {
        String string, string2;

        Bundle bundle = intent.getExtras();
        if(bundle != null) {
            string = bundle.getString("text2"); //return empty
        }
        string2 = intent.getStringExtra("text3") //returns empty

    }

}

Не могу понять, почему он пуст?Должен ли я начать деятельность с разными флагами?Если да, объясните, пожалуйста, почему.

1 Ответ

0 голосов
/ 24 февраля 2019

Вам нужен интерфейс в secondActivity и реализуйте его в firstActivity.Потому что ваша логика со второго на первое неверна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...