Как отслеживать изменения Settings_fragment?
У меня есть settings_fragment. Вот его layout
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/settings_layout">
<PreferenceCategory app:title="@string/messages_header">
<SwitchPreferenceCompat
app:key="switch_cheating"
app:title="@string/enable_cheating" />
<EditTextPreference
app:key="cheating_text"
app:title="@string/cheat_number"
android:inputType="number"
app:useSimpleSummaryProvider="true" />
</PreferenceCategory>
<PreferenceCategory app:title="@string/history_header">
<SwitchPreferenceCompat
app:key="switch_history"
app:title="@string/enable_history" />
</PreferenceCategory>
<PreferenceCategory app:title="@string/dark_theme">
<SwitchPreferenceCompat
app:key="switch_theme"
app:title="@string/enable_theme" />
</PreferenceCategory>
Также у меня есть SettinsFragment.kt
class SettingsFragment : PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.root_preferences, rootKey)
addPreferencesFromResource(R.xml.root_preferences)
}
}
MainActivity.kt (активити, которому принадлежит фрагмент)
class MainActivity : AppCompatActivity() {
lateinit var navController: NavController
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
navController =
(supportFragmentManager.findFragmentById(R.id.nav_host) as NavHostFragment).navController
}
}
В итоге, как мне получить в MainActivity лисенеры, сообщающие о переключении чего-то в Settigs_fragment?