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 に答える