我在try 为kotlin多平台定制上下文时遇到了这个问题

Actual typealias 'ApplicationContext' has no corresponding expected declaration
The following declaration is incompatible because modality is different:
    public final expect class ApplicationContext

安卓美因

import android.app.Application

actual typealias ApplicationContext = Application

普通人

expect class ApplicationContext

伊斯曼

import platform.UIKit.UIView

actual typealias ApplicationContext = UIView

enter image description here

推荐答案

expect类的 struct 应该与你输入别名的类相匹配.

Android的context类是abstract

public abstract class Context {}

所以模态误差来自于此.

您还需要将expect类设置为abstract才能修复该特定错误

expect abstract class ApplicationContext

让它成为abstract将打破UIView的模式,因为它不是abstract.所以你想做的事情不可能以一种简单的方式完成.

对于你想要实现的目标,你需要考虑一种不同的策略.

Android相关问答推荐

如何使TextField的背景透明?

编写Landscape BoxWithRequests具有错误的高度.(aspectRatio matchHeight约束第一次未按预期工作)

关于BLE扫描工作原理的说明

Kotlin Gzip字符串未按预期工作

无法在Android中创建通知频道

如何在Android Studio中将我的Java-库&库设置为Kotlin库

如何使可拖动内容停留在可组合框的边界内

从惰性列中删除项目时Jetpack Compose崩溃

如何在Jetpack Compose android中使用导航

从不可组合回调打开可组合屏幕

为什么我收到这个错误我需要安装 android studio

@Immutable 对数据类有什么好处?

在 Material 3 TopAppBar 代码的哪个位置定义了填充?

状态更改后 colored颜色 未正确更改

未找到 com.android.tools.build:gradle:7.4.0 的匹配变体

在 Jetpack Compose 中包装内容

在 Google Play 中将用户从开放测试转移到生产的过程是怎样的?

为什么官方文档用大写字母表示val变量?

Android:为什么 ICICI iMobile Pay 应用程序在我的应用程序中显示root/jailbroken设备?

这是 let 函数的正确用法吗?