如何处理科特林的后背压迫 [英] how to handle back pressed in Kotlin

查看:77
本文介绍了如何处理科特林的后背压迫的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的应用只有两个基本活动和几个片段,我想在用户通过单击后退键到达特定基本片段时显示退出警报

my app having only two base activity and several fragment,, i want to display an Exit alert when user reach particular base fragment by clicking back press

override fun onBackPressed() {
        if (drawer_layout.isDrawerOpen(GravityCompat.START)) {
          drawer_layout.closeDrawer(GravityCompat.START)

        } else {
         // super.onBackPressed()
            AlertDialog.Builder(this)
                .setTitle("Exit Alert")
                .setMessage("Do You Want To Exit Petals App?")
                .setPositiveButton(android.R.string.ok) { dialog, whichButton ->
                    super.onBackPressed()
                }
                .setNegativeButton(android.R.string.cancel) { dialog, whichButton ->

                }
                .show()

        } 

我在每个片段上使用了addtosatck

i used addtosatck on each fragment

推荐答案

首先检查可见片段

val currentFragment =this@ActivityName.supportFragmentManager.findFragmentById(R.id.Your_id)
        if(currentFragment is FragmentName)
        {
         // AlertDialog()
        }

最后

override fun onBackPressed() 
{
        if (drawer_layout.isDrawerOpen(GravityCompat.START)) {
          drawer_layout.closeDrawer(GravityCompat.START)

        } else 
        {

            val currentFragment =this@ActivityName.supportFragmentManager.findFragmentById(R.id.Your_id)
            if(currentFragment is SpecificFragmentName)
            {
               AlertDialog.Builder(this@ActivityName)
                    .setTitle("Exit Alert")
                    .setMessage("Do You Want To Exit Petals App?")
                    .setPositiveButton(android.R.string.ok) { dialog, whichButton ->
                        super.onBackPressed()
                    }
                    .setNegativeButton(android.R.string.cancel) { dialog, whichButton ->

                    }
                    .show()
            }
            else{
            super.onBackPressed()
            }


    }
}

这篇关于如何处理科特林的后背压迫的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆