簡體   English   中英

supportFragmentManager 變量在哪里定義?

[英]Where is the supportFragmentManager variable defined?

我正在使用 Kotlin 進行開發。 當我到達官方 Android 教程的片段部分時,我遇到了 supportFragmentManager。 它可用作 Kotlin 中的變量,而在 java 中,我們可以調用其等效方法getSupportFragmentManager()

我想知道supportFragmentManager變量在哪里定義,因為我看不到任何類似具有該名稱的變量聲明,但是單擊該變量將我帶到 fragmentActivity.java class 中的以下方法。

/**
 * Return the FragmentManager for interacting with fragments associated
 * with this activity.
 */
public FragmentManager getSupportFragmentManager() {
    return mFragments.getSupportFragmentManager();
}

這種方法如何在 Kotlin 中作為變量訪問,而在 java 中我們必須像常規方法一樣訪問? 任何幫助,將不勝感激。

實際上,在 Kotlin 中,當您調用supportFragmentManager時,它不是變量,任何get方法在 Kotlin 的方法中都包含get前綴(不帶參數)

遵循 Java getter 和 setter 約定的方法(名稱以 get 開頭的無參數方法和名稱以 set 開頭的單參數方法)在 Kotlin 中表示為屬性。 Boolean 訪問器方法(其中 getter 的名稱以 is 開頭,setter 的名稱以 set 開頭)表示為與 getter 方法同名的屬性。

閱讀更多關於這里

這類似於 Kotlin 中的 getter 和 setter 方法。 您無需描述getProperty()setProperty()方法來訪問/更新屬性值。

您可以通過這個question/answers中的示例了解更多關於它實際上是如何工作的。

我希望它會幫助你。 快樂編碼..!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM