У меня есть два занятия, которые оба называют одним классом.isCalledFromCreate
инициируется в конструкторе класса, определяя, из какой деятельности вызывается класс.Обычно нам приходится делать это
if (calledFromCreate) {
((DoAction) context).askForLocationPermission(params);
} else {
((MakeAction) context).askForLocationPermission(params);
}
для каждого вызова в классе, что приводит к дублированию кода.Однако, если методы в обоих действиях называются одинаковыми с одинаковыми параметрами, есть ли способ объединить обе операции в одну, которая все еще будет способна вызывать методы, специфичные для деятельности?Имея это в виду, я хотел бы создать закороченный код из вышеприведенного кода как ((MakeAction)context).askForLocationPermission(params);
без необходимости дублировать код, где (MagicActivity) context
будет действием, которое охватывает как DoAction
, так и MakeAction
.