我需要将文本复制到剪贴板,所以我使用了我已经在 MainActivity 中使用的代码:
val myClipboard: ClipboardManager = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
val myClip: ClipData
问题是,这段代码在 Activity 上运行良好,但在 Fragment 上(显然)不行。
在
getSystemService
:Type inference failed: fun getSystemService(p0: Context, p1: Class): T? cannot be applied to (String)
在
CLIPBOARD_SERVICE
:Type mismatch: inferred type is String but Context was expected
我试过了
getSystemService(context!!, CLIPBOARD_SERVICE)
但不起作用
最佳答案
当你的类是一个 fragment 时,你可以通过调用 getActivity()
来获得对其父 Activity 的引用。在 Java 中或只是 activity
在 Kotlin 。
使用这种方法,您可以将 Activity 中的代码更改为
val myClipboard: ClipboardManager = activity.getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
val myClip: ClipData
关于android - Kotlin Android - 从 fragment 复制到剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57646508/