2013-05-03 2 views
1

환경 설정을 클릭하여 그에 따라 조치를 취하는 방법은 무엇입니까? 이 경우, 키 로그 아웃으로 PreferenceActivity의 환경 설정을 클릭하면 로그 아웃하고 싶습니다. 다음 코드는 작동하지 않습니다.Android에서 기본 설정

pref.registerOnSharedPreferenceChangeListener(new SharedPreferences.OnSharedPreferenceChangeListener() 
    { 

     @Override 
     public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) 
     { 
      if(key.contentEquals("prefLogout")) 
      { 
       Toast.makeText(PreferenceActivityDemoActivity.this, "Logout clicked", Toast.LENGTH_LONG).show(); 
      } 

     } 
    }); 

<PreferenceCategory > 

    <Preference android:title=Logout" 
     android:key="prefLogout"/> 

</PreferenceCategory> 

@Override 
public boolean onPreferenceClick(Preference preference) 
{ 
    if(preference.getKey().equals("prefLogout")) 
    { 
     Toast.makeText(PreferenceActivityDemoActivity.this, "Logout clicked", Toast.LENGTH_LONG).show(); 
    } 
    return false; 
} 

그러나 didnt 한 일을 사용하여 시도 XML은

답변

0

당신의 XML에 따르면이 if(key.equals("prefLogout")) {...}

+0

해야 난 그냥 질문을 편집도 이 작동하지 않습니다 –

+0

나는 하나의 CheckedPreference를 가지고 있고 그것을 변경하면 CheckedPreference가 변경되었지만 Preference가 아닌 Toast를 표시합니다. <: 안드로이드 제목 = "저를 기억"키 = "prefRememberMe" 안드로이드 : 지속 = "true"로/CheckBoxPreference 안드로이드> (key.equals ("prefRememberMe"))의 경우 \t –

+0

이 내가 CheckedPreference을 위해 한 일이다 \t \t \t { \t \t \t \t \t Toast.makeText (PreferenceActivityDemoActivity.this, Toast.LENGTH_LONG를 "나를 클릭 기억")) .show (; \t \t \t \t} –

관련 문제