首页 > 解决方案 > 如何在我的所有活动中继承覆盖函数的相同实现?

问题描述

我正在尝试在我的应用程序的所有活动中实现覆盖方法。此覆盖方法源自 app.Activity 类。有没有办法将这个方法抽象出来并通过继承将其应用于每个活动,而不是重写这个方法并在每个活动中一个一个地实现相同的确切代码?

标签: androidandroid-activitykotlin

解决方案


通常,当您创建活动时,它继承自系统提供的活动类之一。这就是类声明中的“extends”关键字的含义。通过这样做,您可以按原样使用系统活动类中的所有内容并覆盖您想要自定义的方法。但这不会改变基类中的任何内容;只有您的新活动类(及其后代)才会有这些更改。

如果您想在所有活动类中具有相同的覆盖,您首先需要创建一个最小的中间活动类,它扩展系统活动类并且只覆盖您想要自定义的方法。然后将该新类用作所有完整活动类的父类。然后,它们中的每一个都将自动使用被覆盖的方法。

也就是说,您要覆盖什么?如果你只是想改变一些与外观相关的东西,有现有的方法可以使用主题/样式来完成。


推荐阅读