gpt4 book ai didi

android - 如何将 ClipboardManager 的 var 传递给 Kotlin 中的 Fragment?

转载 作者:行者123 更新时间:2023-11-29 23:25:19 28 4
gpt4 key购买 nike

我已阅读文章How to pass and get value from fragment and activity android kotlin

我必须将 Activity 中的 var mClipboardManager(参见代码 A)传递给 Fragment。

我怎样才能传递 var ?以及如何在 Fragment 中获取 var?

代码A

   private lateinit var mClipboardManager: ClipboardManager 

private val aPrimaryClipChangedListener = ClipboardManager.OnPrimaryClipChangedListener {
if (mClipboardManager.hasPrimaryClip() && mClipboardManager.primaryClipDescription.hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN) ) {
var pasteData: String = ""
val item = mClipboardManager.primaryClip.getItemAt(0)
pasteData = item.text.toString().trim()
addClipboardRecord(pasteData)
}
}

最佳答案

你不需要传递,你可以在你的 fragment 中得到这个,但是你可以通过两种方式将 mClipboardManager 从你的 Activity 传递到你的 fragment 中

1。从您的 Activity 中设定值(value)。

首先,使用 getFragmentManager().findFragmentByTag("YourFragmentTag") 获取 fragment 实例

在你的 fragment 中,创建一个方法

public void setClipboardManager(ClipboardManager clipboardManager) {
// here you get an instance of clipboardManager, do anything you want
}

并在您的 Activity 中调用此方法:

fragment.setClipboardManager(mClipboardManager)

2。从 fragment 中获取 mClipboardManager 的值

首先,在您的 Activity 中创建一个方法

public ClipboardManager getClipboardManager() {
return mClipboardManager;
}

然后,在

@Override public void onAttach(Context context) {
super.onAttach(context);
if (getActivity() instanceof YourActivity) {
((YourAcitivity) getActivity()).getClipboardManager()
// here you get an instance of clipboardManger, do anything you want
}
}

关于android - 如何将 ClipboardManager 的 var 传递给 Kotlin 中的 Fragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53699002/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com