首先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进行拦截 进行自己的操作 不是的话正常使用返回的逻辑