# ModulePreferenceFragment - class | Yuki Hook API
An efficient Hook API and Xposed Module solution built in Kotlin

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

# # ModulePreferenceFragment - class

    abstract class ModulePreferenceFragment : PreferenceFragmentCompat(), SharedPreferences.OnSharedPreferenceChangeListener

Change Records

`v1.0.78` `added`

Function Illustrate

> 这是对使用 `YukiHookAPI` Xposed 模块实现中的一个扩展功能。

此类接管了 `PreferenceFragmentCompat` 并对其实现了 Sp 存储在 Xposed 模块中的全局可读可写。

在你使用 `PreferenceFragmentCompat` 的实例中，将继承对象换成此类。

然后请将重写方法由 `onCreatePreferences` 替换为 `onCreatePreferencesInModuleApp` 即可。

Function Example

使用 `ModulePreferenceFragment` 创建一个 `PreferenceFragmentCompat` 对象。

> The following example

    class SettingsFragment : ModulePreferenceFragment() {

        override fun onCreatePreferencesInModuleApp(savedInstanceState: Bundle?, rootKey: String?) {
            setPreferencesFromResource(R.xml.settings_preferences, rootKey)
            // Your code here.
        }
    }

其余用法与 `PreferenceFragmentCompat` 保持一致。

## # onCreatePreferencesInModuleApp - method

    abstract fun onCreatePreferencesInModuleApp(savedInstanceState: Bundle?, rootKey: String?)

Change Records

`v1.0.78` `added`

Function Illustrate

> 对接原始方法 `onCreatePreferences`。

## # onSharedPreferenceChanged - method

    override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?)

Change Records

`v1.0.78` `added`

Function Illustrate

> 实现了 `SharedPreferences.OnSharedPreferenceChangeListener` 的原生监听功能。

Function Example

Notice

在使用 onSharedPreferenceChanged 时请保留 super 方法。

> The following example

    class SettingsFragment : ModulePreferenceFragment() {

        override fun onCreatePreferencesInModuleApp(savedInstanceState: Bundle?, rootKey: String?) {
            // ...
        }

        override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
            super.onSharedPreferenceChanged(sharedPreferences, key)
            // Your code here.
        }
    }