我有 ListPreference,我想用它来启用/禁用多个首选项,这些首选项都在 PreferencesScreen/PreferencesCategory 下(在同一活动中),那么如何一次性做到这一点?
是否有一种简单的方法可以根据另一个 PreferenceScreen 或 PreferenceCategory 中的 ListPreference 值禁用或启用分组首选项?
生成类似问题的描述:
我正在使用eclipse,但是,android studio中存在类似的步骤。
- 创建新项目,单击新建-> android 应用程序项目-> 为该测试项目写任何名称,然后按下一步然后完成。
- 转到菜单:文件->新建->其他单击Android对象然后选择设置,然后单击下一步直到完成,如下所示。
完成点击后,如果出现任何错误,请从菜单重新编译项目: project -> clean 。
现在创建的项目有设置,我们可以通过在 onOptionsItemSelected 方法的 MainActivity.java 中添加两行来调用它,如下所示:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
Intent i = new Intent (this, SettingsActivity.class);
startActivity(i);
return true;
}
return super.onOptionsItemSelected(item);
}
运行应用程序并单击操作栏中的设置以打开设置活动
最后会出现设置,其中包含 3 个首选项屏幕,如下所示:
查看 pref_general 中的“将朋友添加到消息”中,我想要的是当用户将其值更改为“从不”时,应该禁用 pref_data_sync 下的所有首选项,而如果新值是“总是”,那么 pref_notification 中的所有首选项应该disabled 否则启用两个屏幕首选项中的所有首选项。