科特林的合并活动

  • 本文关键字:合并 活动 kotlin
  • 更新时间 :
  • 英文 :


我有三个不同的活动,它们扩展了三种不同的东西,我想实现多级继承,这样我就可以在android:name of androidmanifest中添加它。

以下是所有活动。我根本不了解本土发展。如有任何帮助,我们将不胜感激。

第一次活动

package com.package
import hrx.plugin.monet.MonetApplication
class CustomApplication : MonetApplication()

第二次活动

package com.package
import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity() {
}

第三次活动

package com.package;
import io.flutter.app.FlutterApplication;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
import io.flutter.plugins.GeneratedPluginRegistrant;
import io.flutter.plugins.androidalarmmanager.AlarmService;
class Application : FlutterApplication(), PluginRegistrantCallback {
override fun onCreate() {
super.onCreate();
AlarmService.setPluginRegistrant(this);
}
override fun registerWith(registry: PluginRegistry) {
GeneratedPluginRegistrant.registerWith(registry);
}
}

我有三个不同的活动

实际上,您似乎有两个不同的应用程序对象和一个活动。如果你不知道其中的区别,你可能想回去参加一些Android 101课程。

我想实现多级继承,这样我就可以在android:name of androidmanifest中添加它。

好。你有

class CustomApplication : MonetApplication()

class Application : FlutterApplication(), PluginRegistrantCallback

查看MonetApplication的定义,我们可以看到它被定义为

open class MonetApplication : FlutterApplication()

所以MonetApplication是一个FlutterApplication,所以如果你扩展MonetApplication,你实际上也是在扩展FlutterApplication,所以你基本上可以把你现有的两个类合并为一个:

class HighlanderApplication : MonetApplication(), PluginRegistrantCallback {
override fun onCreate() {
super.onCreate();
AlarmService.setPluginRegistrant(this);
}
override fun registerWith(registry: PluginRegistry) {
GeneratedPluginRegistrant.registerWith(registry);
}
}

现在,您可以在清单中使用HighlanderApplication,并获得两者中的所有逻辑。

最新更新