Android Studio为何采用Java类而非Kotlin?Kotlin项目引入Fragment-ktx后跳转实现打开Fragment.java是否正常
这种现象完全正常,别担心!
嗨,作为Kotlin新手遇到这个疑问很正常,我来给你解释下背后的原因:
- Fragment-ktx并没有替换原生Fragment类:Fragment-ktx的核心价值是给AndroidX原生的Java版
Fragment类补充Kotlin专属的扩展函数和便捷API,比如viewLifecycleOwner、协程相关的launchWhenStarted(),还有简化的页面导航方法等。它并没有重新编写一个Kotlin版本的Fragment基类。 - 你继承的依然是Java实现的Fragment:你代码里写的
class YourFragment : Fragment(),这个Fragment其实是androidx.fragment.app.Fragment,它本身就是用Java编写的类。所以当你右键选择「转到->实现」时,IDE自然会跳转到它的Java源文件Fragment.java。
小提示:如何查看KTX扩展的实现?
如果想查看Fragment-ktx提供的那些Kotlin扩展函数的代码,可以直接在你的Fragment代码里找到使用的KTX方法(比如viewLifecycleOwner),右键选择「转到->定义」,就能打开对应的Kotlin扩展文件了。
内容的提问来源于stack exchange,提问作者Yasiru Nayanajith
相关产品推荐
相关产品推荐

