У меня есть класс Parent Activity, с которого расширяются все мои классы Child Activity. Это родительское действие имеет поле с именем 'activity_Id', которое является строкой и по умолчанию имеет значение null.
В onCreate родительского действия мне нужно проверить, имеет ли это поле значение, которое оно получит только из дочернего действия, если оно выполнит некоторые другие логи c в onCreate объекта. родительская деятельность.
Обратите внимание, что у каждого действия есть уникальный 'action_Id', который используется для изменения другого логика c, который выполняется.
Вот ParentActivity:
public class ParentActivity extends Activity{
protected String activity_Id = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(activity_Id != null)
//DO OTHER LOGIC UNIQUE TO THIS STRING ID
}
}
Вот ChildActivity:
public class ChildActivity extends ParentActivity{
public ChildActivity(){
super();
activity_Id = "Foo123";
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
Эта строка Activity_Id предопределена, но не соответствует имени действия, поэтому я не могу do
this.getClass().getName()
в моем классе ParentActivity.
Это похоже на способ чистоты, НО, кажется, есть какие-то табу вокруг использования конструкторов в действиях, поэтому я просто хочу убедиться, что я не нарушаю что-нибудь. Или если кто-то может придумать более чистый способ сделать это?