将接口从片段传递到kotlin中的活动
Posted
技术标签:
【中文标题】将接口从片段传递到kotlin中的活动【英文标题】:Pass interface from fragment to activity in kotlin 【发布时间】:2021-03-05 08:28:59 【问题描述】:我想将我的界面对象从我的片段传递到我在 Kotlin 中的新活动。我尝试通过发送作为构造函数参数不起作用。我已经尝试发送本地广播...不工作。下面是代码。
Myactivity.kt
class Myactivity: Activity
// get interface ref object here
interface Myinterface: Parcelable
fun someMethod(true:Boolean?)
Myfragment.kt
class Myfragment: Fragment(), Myinterface
val interface: Myinterface
val intent = Intent(activity,Myactivity::class.java)
intent.putextra // or putParcelableExtra??? // pass interface obj
override fun someMethod(true:Boolean?)
现在我已经在我的片段中实现了它,并且我想通过意图将相同的引用传递给我的活动。如何在 Kotlin 中实现这一点?
非常感谢任何帮助。 TIA
【问题讨论】:
不提实现,你想实现什么? 我还不清楚。从用户的角度来看,您希望发生什么? 你是否为Parcelable
实现了必要的方法?
【参考方案1】:
一种可能且更简单的解决方案是从Serializable
扩展您的界面
interface MyInterface : Serializable
fun someMethod()
并有目的地传递它。
val intent = Intent(activity, Myactivity::class.java).apply
putExtra("interface", this@Myfragment)
【讨论】:
我尝试过这种方式,但是每次在活动中从意图额外分配它后,接口obj都是空的。以上是关于将接口从片段传递到kotlin中的活动的主要内容,如果未能解决你的问题,请参考以下文章
将一个 mutableList 从活动 A 传递到 Kotlin 中的活动 B。
在 Kotlin 中将值从 Activity 传递到 Fragment