作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已阅读文章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/
我是一名优秀的程序员,十分优秀!