道招

kotlin报错Unresolved reference: supportFragmentManager

如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!

kotlin报错Unresolved reference: supportFragmentManager

最近自学到dialog出了点问题,卡在Unresolved reference: supportFragmentManager这个报错了。 file

在百度上搜了下,感觉没什么答案,出现这样的问题主要可能有两个原因

  1. 百度搜索问题的搜索关键词不合理
  2. 你遇到的问题其他人还没有遇到,要么就是你涉足的领域太深,其他人还没专研到这里,要么就是这个问题太过简单,根本就不算个问题。

说来惭愧,我这个问题属于过于简单的这种。。。

经过搜索问题的这段经历,我有点感触: android开发网上的搜索材料有点混乱,网上有的答案是java版的,几年前google已经将kotlin作为Android的第一语言了。网上很多答案给出的很多类、方法都已经过期了,看到被废弃的方法自然是让人感觉不爽的。

其实还是因为自己的基本功自学的不扎实。。。

我最后在stackoverflow找到了答案,虽然该提问的内容跟我的不完全一致,但是通过这个提问我还是收获到了我的答案。

我此时此刻get到关于kotlin的Activity的几个点。 这几个点可能不一定准啊,大牛勿喷

  1. kotlin的Activity里面的很多“全局变量”用法其实是类似JavaScript的window.xxx可以直接用xxx一样。 比如我们可以使用Math.random(),或者window.Math.random()这样来使用。 所以上面截图的supportFragmentManager其实就是this.supportFragmentManager
  2. kotlin里面不推荐了使用类似java的getXXX和setXXX方法了,它喜欢将其作为属性.xxx来使用。所以获取this.supportFragmentManager属性的值可以认为是调用this.getSupportFragmentManager()getSupportFragmentManager其实FragmentActivity里面的方法,所以如果无法获取该方法是因为你的Activity不是继承自FragmentActivity的。 file 果不其然,我之前将自己的MainActivity继承自基类Activity了,而不是FragmentActivity或者常见的AppCompatActivity(继承自FragmentActivity),改一下就好了。
更新时间:
上一篇:Android Studio报错Cause: dl.google.com:443 failed to respond下一篇:对微内核的一点执念

相关文章

关注道招网公众帐号
道招开发者二群