gpt4 book ai didi

java - Android Studio : How do I get a button in main activity to do something in a fragment when they aren't directly connected?

转载 作者:行者123 更新时间:2023-12-01 19:43:48 25 4
gpt4 key购买 nike

所以我猜它们可以直接连接,但我不确定在这种情况下如何从主要 Activity 访问 fragment 方法。

我在主要 Activity 上使用导航栏,并且我希望导航栏中有一个按钮来在连接到导航栏的 fragment 之一内执行操作。我可以这样做吗?

最佳答案

在您的 fragment 中,创建一个接口(interface)和 setter 。

    private lateinit var listener: YourFragmentListener

interface YourFragmentListener {

fun doSomething()
}

fun setListener(listener: YourFragmentListener){

this.listener = listener
}

让你的 Activity 实现监听器

    class YourActivity : AppCompatActivity(), YourFragmentListener {

override fun doSomething(){

//do what you want
}
}

创建 fragment 时,还要设置监听器。

   val fragment = YourFragment()
fragment.setListener(this)

最后,在您的 fragment 中,您可以在任何地方使用监听器来回调 Activity

  listener.doSomething()

希望这有帮助。

关于java - Android Studio : How do I get a button in main activity to do something in a fragment when they aren't directly connected?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59148255/

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