Android之解決主頁面Activity監聽fragment退出問題(由NavHostFragment和RxFragment一起管理fragment)

1、 問題

app里面目前主頁面是一個activity,然后部分fragment是由NavHostFragment管理,當splash、login等頁面也放在navigation時,按手機的返回鍵這些頁面只能一頁頁回退,因為設置了

app:defaultNavHost="true"

并不能在某個頁面例如splash、login按返回鍵時退出app,同時我們的項目又有部分fragment是由于繼承 了RxFragment,不受NavHostFragment管理,精準判斷了NavHostFragment管理的當前fragment之外,還不能包含繼承RxFragment的fragment按下

返回鍵才能退出。

 

 

 

 

 

 

 

 

 

 

 

2 、分析

我們需要監聽返回鍵,退出app,既要判斷NavHostFragment管理fragment,同時也不能包含繼承RxFragment的fragment.

 

 

 

 

 

 

 

 

 

 

 

 

3 、部分代碼實現

我們精準的獲取NavHostFragment的第一個fragment的javaClass值,然后在看是不是我們在想要的fragment里面做退出操作

@Suppress("UNCHECKED_CAST")
fun <F : Fragment> AppCompatActivity.getFragment(fragmentClass:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/286703.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/286703.shtml
英文地址,請注明出處:http://en.pswp.cn/news/286703.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux之ps命令詳解

linux中ps(process status) 命令是LINUX下最常用的也是非常強大的進程查看命令&#xff0c;運用該命令可以確定有哪些進程正在運行和運行地狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多地資源等等。 ps命令最常用的是用于監控后臺進程的工作情況。 Linux 查看進程p…

【空間數據庫】傳統數據模型(層次、網狀、關系)和空間數據模型詳解

數據模型是指數據庫的組織形式,它決定了數據庫中數據之間聯系的表達方式,即把在計算機中表示客觀事物及其聯系的數據及結構稱為數據模型。本文詳細講述傳統三大數據模型和空間數據模型。 一、數據模型概述 數據模型是指數據庫的組織形式,它決定了數據庫中數據之間聯系的表…

聊聊 C# 中的多態底層 (虛方法調用) 是怎么玩的

最近在看 C 的虛方法調用實現原理&#xff0c;大概就是說在 class 的首位置存放著一個指向 vtable array 指針數組 的指針&#xff0c;而 vtable array 中的每一個指針元素指向的就是各自的 虛方法&#xff0c;實現方式很有意思&#xff0c;哈哈&#xff0c;現在我很好奇 C# 中…

sublime text 3 安裝、添加命令行啟動、漢化、注冊碼

1. 安裝sublime&#xff1a; 下載&#xff1a;http://www.sublimetext.com/3 添加命令行啟動&#xff1a;設置環境變量->計算機->右鍵屬性->高級系統設置->環境變量->系統變量->Path->編輯&#xff0c;加入";安裝路徑"(如&#xff1a;;D:\Progr…

MVC基礎知識-View

public ActionResult Index() {ViewBag.Message "Modify this template to jump-start your ASP.NET MVC application.";//展現到視圖中數據//~/Views/Home/Index.cshtmlreturn View(); //展現指定的視圖&#xff0c;當沒有指定視圖名稱時&#xff0c;默認是指向根目…

Android之設置當前app為默認瀏覽器研究

1 需求 把當前app設置為默認瀏覽器 2 主要思路 分析競品,我們主要通過2種方式設置app為默認瀏覽器 直接跳 手機“設置默認應用”界面來讓用戶選擇 默認瀏覽器為哪個app打開一個鏈接,拉起手機所有瀏覽器,讓用戶去選擇哪個瀏覽器,并且只有點擊“始終”才會生效,僅僅點擊“…

Linux下的用戶和組

2019獨角獸企業重金招聘Python工程師標準>>> 用戶和組 GNU/Linux 通過用戶和用戶組實現訪問控制 —— 包括對文件訪問、設備使用的控制。Linux 默認的訪問控制機制相對簡單直接&#xff0c;不過還有一些更加高級的機制&#xff0c;包括 ACL 和 LDAP Authentication.…

漫畫C語言 做個聊天軟件你不懂也得懂

學完C語言做不出東西&#xff1f;不存在的&#xff0c;咱們做一個最“隱私”的聊天器&#xff0c;就倆人&#xff0c;你和我。咱們聊天的信息你知我知沒別人知。 對了&#xff0c;本文評論區點贊、收藏抽獎。 社區也有抽獎&#xff0c;本周社區抽獎帖子 &#xff1a;https://b…

【Microstation】第一章:Microstation三維模型構建概述

MicroStation 是國際上和AutoCAD齊名的二維和三維CAD設計軟件&#xff0c;第一個版本由Bentley兄弟在1986年開發完成。其專用格式是DGN&#xff0c;并兼容AutoCAD的DWG/DXF等格式。 MicroStation是Bentley 工程軟件系統有限公司在建筑、土木工程、交通運輸、加工工廠、離散制造…

libgdx游戲引擎開發筆記(十)SuperJumper游戲例子的講解(篇四)---- 主游戲界面內部框架編寫...

上一講&#xff0c;我們已經實現了點擊play進入游戲界面但僅僅是個黑屏 今天&#xff0c;我們就試著編寫代碼讓它出現游戲的一些簡單場景。還是在上一講的代碼基礎上&#xff0c;我們創建兩個類&#xff1a;World 和 WorldRenderer 1.Word類&#xff1a; 12345678910111213141…

看看《System.CommandLine》

記得之前出過幾篇.net tool工具的文章&#xff0c;當時的做法是所有工具的語法分析全部自己解釋&#xff0c;自己執行&#xff0c;語法的解釋占了大部分時間&#xff0c;反而工具的功能被弱化了。其實微軟有一個CommandLine框架在緩慢的發展著&#xff0c;至今都沒有正式發布&a…

Sublime Text 3 import Anaconda 無法正常補全模塊名解決辦法

Sublime Text 3 Anaconda配置 在安裝Sublime Text3之后我們總會安裝一些插件&#xff0c;比如Python的Anaconda自動補全插件。但是&#xff0c;裝好之后發現import 時無法像別的IDE里面那樣自動補全模塊名&#xff0c;就像圖中一樣&#xff1a; 解決辦法在Sublime Text的git…

hdu - 2586 How far away ?(最短路共同祖先問題)

題目鏈接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid2586 最近公共祖先問題~~LAC離散算法 題目大意&#xff1a;一個村子里有n個房子&#xff0c;這n個房子用n-1條路連接起來&#xff0c;接下了有m次詢問&#xff0c;每次詢問兩個房子a,b之間的距離是多少。 很明顯…

Android之添加固定圖標到桌面

我的QQ群 1 需求 Android之添加固定圖標到桌面 2 部分實現 在AndroidManifest.xml里面添加如下權限 <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /><uses-permission android:name="com.android.launcher.perm…

想做程序員?不同方向入門路線全解

學習計算機編程有很多方向如果你沒有一個正確的路線&#xff0c;那么就會&#xff1a; 就會跟上面所說的那樣&#xff0c;被迫成為一個全棧&#xff0c;這是比較尷尬的。 若你想比較準確的針對某個方向學習&#xff0c;那就繼續往下看吧。 一、程序員分為哪幾個方向 隨著…

【轉】OpenGL超級寶典筆記——紋理映射Mipmap

原文地址 http://my.oschina.net/sweetdark/blog/177812 , 感謝作者&#xff0c;若非法轉載請聯系本人。 目錄[-] MipmappingMipmap過濾構建Mip層Mipmaps 硬件生成LOD&#xff08;多細節層次&#xff09;偏好紋理對象管理多個紋理常駐紋理紋理優先級回顧Mipmapping Mipmap是一個…

【Microstation】第二章:Microstation三維建模基礎知識

本章的主要內容包括模型的顯示樣式(線框、光滑)、三維定位(V、T、S、F)、Microstation常見的坐標系統(世界坐標系、ACS輔助坐標系、精確繪圖坐標系、)和Microstation的工作區域(2D和3D)。 一、顯示樣式 二、三維定位 三維定位在Microstation中顯得尤為重要,常見…

xtrabackup對MySQL數據庫的備份及恢復教程

xtrabackup xtrabackup 是 percona 的一個開源項目&#xff0c;可以熱備份innodb &#xff0c;XtraDB,和MyISAM&#xff08;會鎖表&#xff09;。對MyISAM存儲引擎會鎖表&#xff0c;也是很郁悶的因為線上使用的是Innodb和MyISAM兩種存儲引擎&#xff0c;比較 頭疼&#xff01;…

實現 EF Core 6 自定義查詢標記

前言在《EF Core使用Simple Logging輸出日志》中&#xff0c;我們介紹了查詢標記 TagWith&#xff0c;它可以幫助我們快速定位到需要的日志&#xff1a;而在 .NET 6 中&#xff0c;新增了另外一個查詢標記 TagWithCallSite&#xff0c;它可以標記出代碼的位置&#xff1a;var u…

LeetCode: 14. Longest Common Prefix

Write a function to find the longest common prefix string amongst an array of strings. 大意就是&#xff0c;寫一個函數可以找到一個數組字符串中的最長前綴。 分析&#xff1a; 最長前綴的最大值為數組字符串中長度最短的字符&#xff0c;由最短字符串由后向前遞減可以得…