我有这个CheckBoxPreference
CheckBoxPreference sendToEmailPref = new CheckBoxPreference(this);
sendToEmailPref.setTitle("Send To Email");
sendToEmailPref.setDependency("emailList");我想设置它对一个键的依赖性" emailList“emailList是一个自定义的构建首选项,它将电子邮件地址存储为字符串。
然而,我得到了这个错误
Caused by: java.lang.IllegalStateException: Dependency not found.....发布于 2012-02-25 00:59:28
final CheckBoxPreference sendImageToEmail = (CheckBoxPreference) findPreference("send_image_to_email");
listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
@Override
public void onSharedPreferenceChanged(
SharedPreferences sharedPreferences, String key) {
if (key.equals("emailList")) {
String emails = sharedPreferences
.getString("emailList", "");
if (emails.equals("")) {
sendImageToEmail.setChecked(false);我使用OnSharedPreferenceChangeListener来做这件事。
发布于 2012-08-03 15:21:32
你应该在调用完addPreference之后调用setDependency,它对我来说很好用!
发布于 2012-02-23 16:08:45
在onCreate中将.setDependency()设置为紧跟在setPreferenceScreen()之后。应该能行得通。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setPreferenceScreen(createPreferenceHierarchy());
getPreferenceScreen().findPreference("_key_of_depend_to_").setDependency("emailList");
}https://stackoverflow.com/questions/9357349
复制相似问题