是Fragment.setUserVisibleHint()
方法由系統調用,或
我們是否手動調用它?是由android系統調用Fragment.setUserVisibleHint()嗎?
回答
望着sources,它看起來像這個系統主要是用於把在尋呼機片段。 例如,您可以將它設置爲提示(「應用程序提供的提示」作爲Fragment
源文件中的註釋),以便它可以例如將其加載(初始化)如果不可見並且優先加載可見片段(再次用於尋呼機時通常需要)。
但請注意,FragmentPagerAdapter利用此功能並在其片段上正確調用setUserVisibleHint()
,這就是爲什麼我想你會看到一些人建議如以覆蓋setUserVisibleHint()
以知道某個片段何時對用戶可見(並且因此僅當該片段位於FragmentPagerAdapter
內部時才起作用,而不是僅當放入通常的活動佈局時)。
因此要清楚地回答這個問題:您可以手動調用它,並且FragmentPagerAdapter
也可以手動調用它。
從文檔:
設置一個暗示,這個片段的UI當前是否對用戶可見的系統。此提示默認爲true,並且在片段實例狀態保存和恢復中保持不變。
應用程序可能會將此設置爲false以指示片段的UI已滾動出可視範圍,否則用戶無法直接看到該片段。這可以被系統用來區分諸如片段生命週期更新或裝載器排序行爲等操作的優先級。
參數 isVisibleToUser如果此片段的用戶界面當前對用戶可見(默認),則爲true;如果不是,則爲false。
聽起來像默認爲True,如果您願意,可以將其設置爲False。
已閱讀..它不談論系統。不管怎麼說,還是要謝謝你。 – vivek
不適用於Android版本低於版本15和Android支持庫版本低於版本11.
這是支持v4庫的一部分,我現在在運行API 10的Nexus One上使用它,沒有任何問題。似乎沒有任何理由說明爲什麼它不能一直運行到API 4。 – gMale
- 1. 是getaddrinfo()系統調用嗎?
- 2. 調用android系統
- 3. 什麼是JNI調用的android系統
- 4. 禁用微調android系統
- 5. android系統調用鉤子
- 6. Android NDK系統調用
- 7. 調試android系統
- 8. 由fork()系統調用返回的值
- 9. 什麼是系統調用?
- 10. Mutex是否會調用系統調用?
- 11. 我可以在android中使用Linux系統調用嗎?
- 12. 操作系統調用中斷嗎?
- 13. Windows支持鏈接系統調用嗎?
- 14. Android Studio可以使用系統CMake嗎?
- 15. 系統(「」)調用
- 16. Android的全球定位系統路由系統
- 17. Android:調用文件系統瀏覽器
- 18. Android LKM攔截系統調用
- 19. Android Linux系統調用列表
- 20. Android。調用系統對話框
- 21. Android內核,WiFi掃描系統調用
- 22. 所有的系統調用都是非實時安全的嗎?
- 23. waitpid()是一個Unix標準系統調用嗎?
- 24. 系統調用和系統程序
- 25. 就是在android系統
- 26. 就是在android系統
- 27. MIPS:系統調用
- 28. 調用C「系統」 ++
- 29. Ptracing系統調用
- 30. Pipe()系統調用
那麼,在正常活動中添加片段時,還有什麼替代方法呢? – AndroidGuy
如何手動調用它?我們應該檢查isAdded(),isHidden()..的返回值嗎? isVisible()總是返回false。 – AndroidGuy
@AndroidGuy除非你實現一個管理片段的類(例如片段分頁器),你**不需要**來調用'Fragment#setUserVisibleHint'。所以如果你只是簡單地將一個片段添加到一個活動中,你就不需要爲此而煩惱。 爲了獲得更好的幫助,我建議你澄清你*想要做什麼*(你的問題)並在StackOverflow上搜索它,或者如果沒有完全匹配你的問題,可以問一個新問題。 – desseim