SharedPreferences não salvará / carregará em PreferenceActivity
EDITAR O problema descrito abaixo foi devido a um problema muito peculiar do dispositivo, não causado por nenhum problema relacionado à codificaçã
Tenho uma preferênciaActividade na qual tenho muitas checkBoxPreferences. O checkBoxPreference deve salvar o arquivo de preferências compartilhadas padrão e ser chamado novamente quando eu abrir o aplicativo para atualizar a interface do usuári
Isso não acontece como deveria. Se eu fechar o aplicativo e abri-lo novamente, meus valores permanecerão como deveriam, mas se eu usar o gerenciador de tarefas para finalizar o aplicativo ou se eu ligar e ligar o telefone (quando o aplicativo não estiver em execução), os valores padrão serão chamados novamente
ntão, criei uma SharedPreference no meu onResume () para testá-l
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
Depois, verifico se há uma chave nessa preferência compartilhad
pref.contains("myCheckBoxPreference");
Quando eu fecho e abro de novo, ele retorna verdadeiro. se eu fechar com o gerenciador de tarefas ou desligar e ligar o telefone, isso retornará fals
ntão tentei definir manualmente o SharedPreference
SharedPreferences.Editor editor = pref.edit();
editor.putBoolean("myCheckBoxPreference", myCheckBoxPreference.isChecked());
editor.commit();
e então chamei isso quando o valor da preferência da caixa de seleção mudou. Eu também tentei chamar onStop e onPause. Ainda assim, se eu fechar o aplicativo e abri-lo novamente, pref.contains retornará true, mas se eu desligar e ligar novamente o telefone, ele reterá, as urnas serão falsas.
ntão tentei usar um arquivo SharedPreference
Na declaração de classe:
public static final String PREFS = "prefs";
E no onResume ():
SharedPreferences pref = this.getSharedPreferences(PREFS, 0);
Sem o mesmo comportamento, pref.contains ainda retornará true se eu apenas fechar o aplicativo e abri-lo novamente, mas ele retornará false se eu desligar e ligar o telefon
Tentei alterar o valor da chave myCheckBoxPreference para algo que NÃO correspondesse à chave xml da CheckBoxPreference, e ainda assim teve o mesmo efeit
Desinstalei o aplicativo do telefone, desliguei e liguei novamente o telefone, reinstalei e ele ainda tem o mesmo efeit