1
resposta

SharedPreferences

Boa noite, estou com o código:

    private void layoutManagerConfiguration(RecyclerView recyclerView) {
        SharedPreferences.Editor editor = preferences.edit();
        boolean layout = preferences.getBoolean("list_layout_linear", false);

        if(layout){
            recyclerView.setLayoutManager(new GridLayoutManager(this, 2));
            editor.putBoolean("list_layout_linear", false);
            editor.apply();
        } else {
            recyclerView.setLayoutManager(new LinearLayoutManager(this));
            editor.putBoolean("list_layout_linear", true);
            editor.apply();
        }
    }

O problema desse código é que seu eu fecho o app e abro novamente, a preferência não é salva, alguém está passando por esse problema?

1 resposta
public class SharedUtil {
    private Context context;
    private SharedPreferences preferences;

    private SharedUtil(Context context) {
        this.context = context;
        preferences = PreferenceManager.getDefaultSharedPreferences(context);
    }

    public void save(String property, String value) {
        final SharedPreferences.Editor editor = preferences.edit();
        editor.putString(property, value);
        editor.apply();
    }
}

como você pode ver no código acima, primeiro é preciso pedir uma instancia do sharedpreference para então chamar o editor.