Activity嵌套Fragment 控制返回键
Posted 安果移不动
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Activity嵌套Fragment 控制返回键相关的知识,希望对你有一定的参考价值。
首先Fragment必须是单例模式
companion object {
@JvmStatic
fun newInstance(): EventListFragment {
return instance!!
}
private var instance: EventListFragment? = null
get() {
if (field == null) {
field = EventListFragment()
}
return field
}
// fun get(): SingletonDemo{
// //细心的小伙伴肯定发现了,这里不用getInstance作为为方法名,是因为在伴生对象声明时,内部已有getInstance方法,所以只能取其他名字
// return instance!!
// }
}
然后自己判断代码加上去就可以了
override fun onBackPressed() {
val newInstance = EventListFragment.newInstance();
Log.e(TAG, "onBackPressed: " + newInstance.isAdded)
Log.e(TAG, "onBackPressed: " + newInstance.isHidden)
if (!newInstance.isHidden() && newInstance.isAdded()) {
Anguo.onBackPressed(this, null, false)
} else {
super.onBackPressed();
}
}
是这个Fragment进行拦截 进行自己的操作 不是的话正常使用返回的逻辑
以上是关于Activity嵌套Fragment 控制返回键的主要内容,如果未能解决你的问题,请参考以下文章
activity嵌套fragment 并 启动activity
是否最好使用 Activity.onAttachFragment 或 Fragment.onAttach 在 Activity 和嵌套片段之间进行通信?