Існуючі відповіді (передайте дані, які були Intent
передані startActivity()
) показують нормальний спосіб вирішення цієї проблеми. Існує ще одне рішення, яке може бути використане у випадковому випадку, коли ви створюєте Діяльність, яку розпочне інший додаток (наприклад, одна з дій редагування в плагіні Tasker ), а отже, не контролюйте те, Intent
що запускає Activity
.
Ви можете створити базовий клас Activity
, у якому є конструктор з параметром, а потім похідний клас, який має конструктор за замовчуванням, який викликає конструктор базового класу зі значенням:
class BaseActivity extends Activity
{
public BaseActivity(String param)
{
// Do something with param
}
}
class DerivedActivity extends BaseActivity
{
public DerivedActivity()
{
super("parameter");
}
}
Якщо вам потрібно згенерувати параметр для передачі конструктору базового класу, просто замініть твердо закодоване значення на виклик функції, який повертає правильне значення для передачі.