kotlin报错Unresolved reference: supportFragmentManager
如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!
kotlin报错Unresolved reference: supportFragmentManager
最近自学到dialog出了点问题,卡在Unresolved reference: supportFragmentManager这个报错了。
在百度上搜了下,感觉没什么答案,出现这样的问题主要可能有两个原因
- 百度搜索问题的搜索关键词不合理
- 你遇到的问题其他人还没有遇到,要么就是你涉足的领域太深,其他人还没专研到这里,要么就是这个问题太过简单,根本就不算个问题。
说来惭愧,我这个问题属于过于简单的这种。。。
经过搜索问题的这段经历,我有点感触: android开发网上的搜索材料有点混乱,网上有的答案是java版的,几年前google已经将kotlin作为Android的第一语言了。网上很多答案给出的很多类、方法都已经过期了,看到被废弃的方法自然是让人感觉不爽的。
其实还是因为自己的基本功自学的不扎实。。。
我最后在stackoverflow找到了答案,虽然该提问的内容跟我的不完全一致,但是通过这个提问我还是收获到了我的答案。
我此时此刻get到关于kotlin的Activity的几个点。 这几个点可能不一定准啊,大牛勿喷
- kotlin的Activity里面的很多“全局变量”用法其实是类似JavaScript的
window.xxx
可以直接用xxx
一样。 比如我们可以使用Math.random()
,或者window.Math.random()
这样来使用。 所以上面截图的supportFragmentManager
其实就是this.supportFragmentManager
。 - kotlin里面不推荐了使用类似java的getXXX和setXXX方法了,它喜欢将其作为属性.xxx来使用。所以获取
this.supportFragmentManager
属性的值可以认为是调用this.getSupportFragmentManager()
。getSupportFragmentManager
其实FragmentActivity里面的方法,所以如果无法获取该方法是因为你的Activity不是继承自FragmentActivity的。 果不其然,我之前将自己的MainActivity继承自基类Activity了,而不是FragmentActivity或者常见的AppCompatActivity(继承自FragmentActivity),改一下就好了。
- 分类:
- Mobile
更新时间: