如何在android Activity中使用多重继承?

我想使用 RxLifeCycle 因为 compose(bindToLifeCycle),但我已经使用 DaggerAppCompatActivity。

bindToLifeCycle需要RxAppCompactActivity。但是,Java 不支持多重继承。我该如何解决?

基础活动

public class BaseActivity extends DaggerAppCompatActivity{ }

主要活动

public class MainActivity extends BaseActivity { }

我想

public class BaseActivity extends DaggerAppCompatActivity, RxAppCompactActivity { }

但这个代码不能使用。


繁星淼淼
浏览 77回答 2
2回答

翻阅古今

DaggerAppCompatActivity如果您通过Ctrl+B在 IDE 中按下来检查 的实现,您会发现唯一的区别是对AndroidInjection.inject(this)before 的调用super.onCreate()。所以你可以在之前扩展RxLifecycleActivity和编写,你会得到相同的结果。AndroidInjection.inject(this)super.onCreate()您也可以将这些内容复制RxLifecycleActivity到您的 BaseActivity 中。你可以两者都做。这真的取决于你。只需将这些基类的实现复制到您自己的类中即可工作。

三国纷争

Java 不支持多重继承。虽然可以使用 Interface 并在类中实现多个接口。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java