Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Buscando SharedPreferences em classes filhas

Boa tarde,

Na minha MainActivity eu seto uma variável de SharedPreferences:


public SharedPreferences settings;
public SharedPreferences.Editor sessao;

@Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.home);

        settings = getSharedPreferences("dados", Context.MODE_PRIVATE);

}

E em uma função na própria MainAcitivty eu seto os valores dessa SharedPreference:


sessao.putInt("id", dados_usuario.getInt("id_usuario"));
sessao.putString("usuario", dados_usuario.getString("usuario"));
sessao.putInt("tipo", dados_usuario.getInt("tipo"));
sessao.putString("email", dados_usuario.getString("email"));
sessao.putInt("logado", 1);
sessao.commit();

Até ai tudo bem, consigo trabalhar com esses dados na MainActivity, o problema é quando tento chamar nas classes filhas da MainAcitivty. Estou chamando da seguinte maneira, e isso da crash no app.

SharedPreferences settings = getSharedPreferences("dados", Context.MODE_PRIVATE);

Alguma ideia de como posso puxar SharedPreferences para outras activities?

Obrigado.

2 respostas
solução!

Olá Thiago!

A princípio as SharedPreferences deveriam ser acessíveis por qualquer componente da sua aplicação. Você poderia por favor postar aqui os códigos completos das classes envolvidas e também a saída do LogCat com a stack trace para analisarmos?

Abraço!

Olá Jeferson, consegui resolver aqui, era um problema de nomeação nos filhos, obrigado mesmo assim!