Android中的PreferenceActivity

时间:2013-05-03 06:23:21

标签: android preferenceactivity

如何查找是否已单击“首选项”并相应地执行某些操作。 在这种情况下,我想在单击具有键注销的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;
}

但没有工作

1 个答案:

答案 0 :(得分:0)

根据您的XML,它应该是if(key.equals("prefLogout")) {...}