#android #inheritance #android-activity #composition
#Android #наследование #android-активность #композиция
Вопрос:
Я хочу использовать SDK, который говорит мне переопределить attachBaseContext
все действия или создать BaseActivity
public class BaseActivity extends AppCompatActivity {
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(LibraryX.wrap(newBase));
}
}
Но я не хочу использовать наследование для всех своих действий. Мы отходим от использования BaseActivity. Я огляделся и искал что-то, что могло бы помочь мне реализовать это по-другому.
К сожалению ActivityLifecycleCallbacks
, не предоставляет attachBaseContext
метод. В противном случае я закончил.
Это хороший способ сделать это без использования наследования?
Комментарии:
1. Нет, потому что вам нужно вызвать
super
метод, который может быть выполнен только через наследование.2. Ну, вы хотите вызвать метод базового класса, когда производный класс вызывается тем же методом … итак, ответ очевиден… вы можете сделать это только по наследству… что не так
BaseActivity
?
Ответ №1:
Нет. Невозможно сделать это без наследования, поскольку вам абсолютно необходимо вызвать метод super, и нет API для доступа к этому методу извне (например, слушатель)