bry*_*bam 62 java xml dependencies android preferences
是否有与之完全相反的XML属性android:dependency
?
我希望在检查另一个未选中时禁用其他依赖首选项并禁用它.
编辑:也许问题不在于android:dependency
可能有一个xml属性,我可以添加,以使该偏好设置的默认值被禁用,然后android:dependency
将按照我想要的相反方式切换它.
再次编辑:我尝试android:enabled="false"
在首选项中进行设置,它会像我想要的那样禁用它,但即使它依赖于其他首选项它也没有像我希望的那样启用它
bry*_*bam 130
实际上是我自己找到了它并且认为我只是在这里发布它以帮助任何可能有同样问题的人:
android:disableDependentsState="true"
Run Code Online (Sandbox Code Playgroud)
把它放在控制偏好中.
Dmytro Zarezenko询问,如果您希望某些依赖项在它们所依赖的首选项为true时启用,而某些依赖项在该首选项为false时启用.
使用上述方法设置一种类型的所有从属首选项(具有更大的数字).然后(使用实现OnSharedPreferenceChangeListener的类)在首选项活动和/或首选项片段中具有这样的代码:
@Override
public void onResume()
{
super.onResume();
sharedPreferences.registerOnSharedPreferenceChangeListener(this);
}
@Override
public void onPause()
{
super.onPause();
sharedPreferences.unregisterOnSharedPreferenceChangeListener(this);
}
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key)
{
if (key.equals("pref_that_they_depend-upon")
{
// Iterate over the preferences that need to be enabled or disabled,
// lets say there is just one called the_awkward_one.
Preference preference = findPreference("the_awkward_one");
// Or preference.setEnabled(! sharedPreferences.getBoolean(("pref_that_they_depend-upon", defaultValue));
preference.setEnabled(sharedPreferences.getBoolean(("pref_that_they_depend-upon", defaultValue));
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10544 次 |
最近记录: |