1

我如何才能找到是否已单击首选项并采取相应措施。在这种情况下,我想在单击带有键注销的 PreferenceActivity 中的 Preference 时注销。以下代码不起作用。

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;
}

但没用

4

1 回答 1

0

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

于 2013-05-03T06:29:13.170 回答