你应该在setPreferenceScreen(yourScreen)之后写sendToEmailPref.setDependency("emailList")
假设我写:
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
val context = preferenceManager.context
val screen = preferenceManager.createPreferenceScreen(context)
...
并且有一个 switchPreference :
val mySwitchPreference = SwitchPreference(context)
mySwitchPreference.key = "my_switch_preference"
screen.addPreference(mySwitchPreference )
...
并且有一个我想依赖于“mySwitchPreference”的 SeekBarPreference。
如果开关为“ON”,则启用搜索栏,否则禁用搜索栏:
val mySeekBarPreference = SeekBarPreference(context)
mySeekBarPreference.key = "my_seekbar_preference"
screen.addPreference(mySeekBarPreference)
...
preferenceScreen = screen
mySeekBarPreference.dependency = mySwitchPreference.key
如果您确实尝试为 seekBarPrefernece 设置依赖项,则在设置之前
屏幕作为 PreferenceScreen,它会给你这个错误:
java.lang.IllegalStateException: Dependency "my_switch_preference" not found for preference "my_seekbar_preference"