Если вы не присваиваете значения переменным drinkButton
и drinkType
, они оба null
, когда вы используете их в первом упражнении.В этом случае ваш код:
bundle.putString(drinkButton, "4");
bundle.putString(drinkType, "1");
эквивалентен
bundle.putString(null, "4");
bundle.putString(null, "1");
Смотрите, вы используете переменные со значением null
в качестве аргумента "ключа" для putString()
.
Наиболее распространенный способ установки «ключевых» аргументов, подобных этому, - использовать константы.Например:
public interface IntentConstants {
public static final String EXTRA_DRINK_BUTTON = "DrinkButton";
public static final String EXTRA_DRINK_TYPE = "DrinkType";
}
А затем в своем задании используйте эти константы, например:
bundle.putString(IntentConstants.EXTRA_DRINK_BUTTON, "4");
bundle.putString(IntentConstants.EXTRA_DRINK_TYPE, "1");
, и получите их во втором задании:
String drinkButton = extras.getString(IntentConstants.EXTRA_DRINK_BUTTON);
String drinkType = extras.getString(IntentConstants.EXTRA_DRINK_Type);
Кстати, есть ли конкретная причина, по которой вы передаете целочисленные значения как дополнительные функции String?Почему бы не передать их как целые числа?