getSharedPreference
代わりに使用したいgetDefaultSharedPreference
(一部のデバイスのバグのため)。
そして好みの変化を聞きたい。だから私は次のようなことをしました:
this.getSharedPreferences("myPrefDB", MODE_PRIVATE).registerOnSharedPreferenceChangeListener(new OnSharedPreferenceChangeListener()
{
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,String key)
{
if (key.equalsIgnoreCase("myPrefKey"))
{
flag = sharedPreferences.getBoolean(key,true);
}
}
});
しかし、それは機能せず、間違った設定をしてしまいます。
次のように書いても構いません:
public class Setting extends PreferenceActivity implements OnSharedPreferenceChangeListener
{
//like above
}
再び動作しません。insert value( , )
には何も書いていません。私はただ使用します:edit()
commit()
addPreferencesFromResource(R.xml.preferences);
そして、この上記の行は、値をデフォルトのデータベース名(「」など)に書き込むと思いますcom.example.something_preferences
。しかし、カスタム名 (myPrefDB) に値を書き込みたいと考えています。