我创建了一个自定义的导航抽屉使用运动布局,其中我有图像视图,文本视图和导航主机片段(片段容器视图).问题是,当我点击我的导航抽屉中的任何视图,它打开一个片段,但当点击后退按钮,它关闭应用程序.
这是我的mainactivity.kt文件
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val contactus = findViewById<TextView>(R.id.contact_us)
val drawer = findViewById<ImageView>(R.id.image8)
val tandc = findViewById<TextView>(R.id.termsandconditions)
val motionLayout = findViewById<MotionLayout>(R.id.motion_layout)
contactus.setOnClickListener {
supportFragmentManager.beginTransaction().apply {
replace(R.id.fragmentContainerView2, contact_us_fragment())
commit()
motionLayout.transitionToStart()
}
}
drawer.setOnClickListener {
motionLayout.transitionToEnd()
motionLayout.transitionToStart()
}
tandc.setOnClickListener {
supportFragmentManager.beginTransaction().apply {
replace(R.id.fragmentContainerView2, TandCFragment())
commit()
motionLayout.transitionToStart()
}
}
}
}
如何在按下后退按钮时移动到主片段?
2条答案
按热度按时间2uluyalo1#
我相信你必须实现
onBackPressed()
方法,当用户按下/向后滑动时调用这个方法。3okqufwl2#
你可以将fragment添加到后栈并给予它们id,然后用这个id弹出后栈。
然后通过以下方式将堆栈弹出到此片段: