开发者社区> 问答> 正文

Android Studio:当未直接连接时,如何在主要活动中获得一个按钮来执行片段操作?

因此,我想它们可以直接连接,但是我不确定在这种情况下如何从主要活动访问片段方法。

我在主要活动上使用了导航栏,我想在导航栏中使用按钮在连接到导航栏的片段之一中执行操作。反正我能做到这一点吗?

展开
收起
Puppet 2019-12-04 09:27:57 791 0
1 条回答
写回答
取消 提交回答
  • 在您的Fragment中,创建一个接口和设置器。

    private lateinit var listener: YourFragmentListener
    
        interface YourFragmentListener {
    
            fun doSomething()
        }
    
        fun setListener(listener: YourFragmentListener){
    
            this.listener = listener
        }
    

    使您的活动实现侦听器

    class YourActivity : AppCompatActivity(), YourFragmentListener {
    
           override fun doSomething(){
    
             //do what you want
           }
        }
    

    创建片段时,还要设置侦听器。

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

    最后,在您的片段中,您可以在各处使用侦听器来回调活动

    listener.doSomething()
    

    希望这可以帮助。

    2019-12-04 09:29:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载