我正在使用Kotlin进行开发。当我到达官方的Android教程的“片段”部分时,遇到了supportFragmentManager。在Kotlin中可以将其用作变量,而在Java中,我们可以调用其等效方法getSupportFragmentManager()
。
我不知道supportFragmentManager
变量在哪里定义,因为我看不到具有该名称的变量声明,但是单击该变量会将我带到fragmentActivity.java类中的以下方法。
/**
* Return the FragmentManager for interacting with fragments associated
* with this activity.
*/
public FragmentManager getSupportFragmentManager() {
return mFragments.getSupportFragmentManager();
}
在Kotlin中如何将此方法作为变量进行访问,而在Java中,我们必须像常规方法一样进行访问?任何帮助将不胜感激。
答案 0 :(得分:4)
实际上,在Kotlin中,当您调用supportFragmentManager
不是变量时,任何Java方法在Kotlin中的方法中都包含get
前缀(不带参数),它将像没有{{1}的变量一样被调用}字
遵循getter和setter的Java约定的方法(名称以get开头的无参数方法和名称以set开头的单参数方法)在Kotlin中表示为属性。布尔访问器方法(getter的名称以is开头,setter的名称以set开头)表示为与getter方法具有相同名称的属性。
详细了解here
答案 1 :(得分:2)
这类似于Kotlin中的getter和setter方法。您无需描述getProperty()
和setProperty()
方法即可访问/更新属性值。
通过此question/answers中的示例,您可以进一步了解它的实际工作原理。
我希望它将对您有所帮助。 祝您编码愉快!!