Я очень новичок в разработке Android.
Я хочу создать и запустить мероприятие, чтобы показать информацию об игре. Я показываю эту информацию, мне нужен идентификатор игры.
Как я могу передать этот игровой идентификатор на активность? Идентификатор игры абсолютно необходим, поэтому я не хочу создавать или запускать игру, если у нее нет идентификатора.
Это похоже на то, что у действия есть только один конструктор с одним параметром.
Как я могу это сделать?
Спасибо.
android
android-activity
oncreate
VansFannel
источник
источник
intent.putExtra(String, Int)
.Просто добавьте дополнительные данные в намерение, которое вы используете для вызова своей деятельности.
В вызывающей деятельности:
Внутри onCreate () действия, которое вы вызываете:
источник
Мне нравится делать это статическим методом во втором упражнении:
Затем, начиная с вашего первого занятия (и где угодно), вы просто делаете:
источник
String gameId = intent.getStringExtra(EXTRA_EXTERNAL_ID);
бытьString gameId = intent.getStringExtra(EXTRA_GAME_ID);
Код Котлина:
Начать
SecondActivity
:Получить идентификатор в
SecondActivity
:где
gameId
этоString?
(может быть пустым)источник
Существующие ответы (данные
Intent
передаются вstartActivity()
) показывают нормальный способ решения этой проблемы. Есть еще одно решение, которое можно использовать в нечетном случае, когда вы создаете действие, которое будет запущено другим приложением (например, одним из действий редактирования в плагине Tasker ), и, следовательно, не управляете тем,Intent
которое запускаетActivity
.Вы можете создать базовый класс
Activity
, имеющий конструктор с параметром, а затем производный класс, имеющий конструктор по умолчанию, который вызывает конструктор базового класса со значением, как показано ниже:Если вам нужно сгенерировать параметр для передачи конструктору базового класса, просто замените жестко запрограммированное значение на вызов функции, который возвращает правильное значение для передачи.
источник