checkboxpreference中的多重依赖关系android或listpreference的依赖关系

例如:我的首选项屏幕中有三个复选框,每个复选框有3个不同的
listpreference(A,B,C)
。我想让用户一次只选择一个复选框。我如何实现这一目标? 首选项屏幕中没有单选按钮 我不能使用Listpreference,如果我可以使用它
  ListPreference
    android:key="livewallpaper_testpattern"
    android:title="@string/livewallpaper_settings_title"
    android:summary="@string/livewallpaper_settings_summary"
    android:entries="@array/livewallpaper_testpattern_names"
    android:entryValues="@array/livewallpaper_testpattern_prefix"
这个Listprefrence的数组是“蓝色”,“红色”,“白色”   如果它是蓝色的   ListPreference A取决于蓝色      如果它是红色的   ListPreference B取决于红色      如果它是白色的   ListPreference C取决于白色 我怎样才能做到这一点? 我在谷歌搜索3-4页,这里几乎所有关于这些,但我找不到任何答案。 最好的祝福, 提前致谢..     
已邀请:
您可以在
PreferenceActivity
类中覆盖
onSharedPreferenceChanged
并以编程方式启用/禁用适当的首选项:
public class MyPreferences extends PreferenceActivity implements OnSharedPreferenceChangeListener {
    ...
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
        if (key.equals("livewallpaper_testpattern")) {
            if (/* check if livewallpaper_testpattern equals to blue */) {
                findPreference("ListPreferenceKey_A").setEnabled(true);
                findPreference("ListPreferenceKey_B").setEnabled(false);
                findPreference("ListPreferenceKey_C").setEnabled(false);
            } else if (/* check if livewallpaper_testpattern equals to red */) {
                // enable B, disable A & C
            } else if (/* check id livewallpaper_testpattern equals to white */) {
                // enable C, disable A & B
            }
        }
    }
    

要回复问题请先登录注册