supportFragmentManager变量在哪里定义?

时间:2020-05-27 07:51:13

标签: android kotlin android-fragment-manager

我正在使用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中,我们必须像常规方法一样进行访问?任何帮助将不胜感激。

2 个答案:

答案 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中的示例,您可以进一步了解它的实际工作原理。

我希望它将对您有所帮助。 祝您编码愉快!!

相关问题