解决Android Navigation添加Fragment时重叠问题

主要是在使用NavController去调用navigate方法之前,先判断已加载的Fragment栈栈顶的Fragment id是否时当前所需要加载的id,如果是,则不需要重复添加,如果不是则需要将当前Fragment id(包含) 之上的Fragment弹出栈再进行加载。

if (navController.currentDestination?.id != resID) {

    // param inclusive = true means is pop stack contains resID self

    navController.popBackStack(resID, true)

    navController.navigate(resID)

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容