2011-10-13 1 views

답변

31

이 당신은 public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences, final String key)을 무시할 수 this question

의 중복 것 같다 그리고 그것은 key.equals(<Your key for setting>)로 전화를받을 때 같은 수행 또한

boolean isEnabled = sharedPreferences.getBoolean(key, true); 
getPreferenceScreen().findPreference("list box preference key").setEnabled(isEnabled); 
getPreferenceScreen().findPreference("list box preference key").setEnabled(!isEnabled); 

onCreate()에서 동일하도록 할 선호 적절한 초기 설정 화면 .

3

확인란의 값을 가져올 수 있습니다. 그런 다음 기본 설정을 활성화/비활성화하려면 pref.setEnabled(false);을 사용하십시오. 활성화하려면 동일한 기능을 사용하고 true 값을 입력하십시오.

24

변형 된 예로, "종속성"을 ListBoxPref에 넣는 것이 가능합니다.

<PreferenceCategory 
android:key="key1" 
android:title="@string/title1"> 
<SwitchPreference 
    android:key="parents" 
    android:summaryOff="@string/do_smthng" 
    android:summaryOn="@string/do_smthng" 
    android:switchTextOff="@string/i_am_sleeping" 
    android:switchTextOn="@string/i_have_free_time" /> 
<CheckBoxPreference 
    android:key="baby" 
    android:dependency="parents" 
    android:title="@string/basic_habbits" 
    android:summaryOff="@string/play_with_parents" 
    android:summaryOn="@string/play_with_parents" 
    android:defaultValue="true" /> 
</PreferenceCategory> 

기본적으로, 당신은 멋진 선생님입니다

+0

가 자고있는 부모 =)로 재생할 수 없습니다 아기! – Mohamed

+0

정확히 무엇을 찾고 있었는지 ... 내 코드에서이 사용을 비활성화했지만 사용하지 못하도록 사용자에게 보여줄 필요가있었습니다. – ShadowZzz