如何查找是否已单击“首选项”并相应地执行某些操作。 在这种情况下,我想在单击具有键注销的PreferenceActivity中的首选项时注销。以下代码无效。
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();
}
}
});
xml
<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;
}
但没有工作
答案 0 :(得分:0)
根据您的XML,它应该是if(key.equals("prefLogout")) {...}