100 votes

Impossible de mettre un double SharedPreferences

Eclipse a donné une solution rapide en ajoutant le cast à l'éditeur, mais quand je fais cela, il donne toujours des erreurs, pourquoi je ne peux pas mettre le double.

Le code :

@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();

    if (TextUtils.isEmpty(editBl.getText().toString())) {
        numberOfBl = 0;
    } else {
        numberOfBl = Integer.parseInt(editBl.getText().toString();

    }
    if (TextUtils.isEmpty(editSt.getText().toString())) {
        tonOfSt = 0;
    } else {
        tonOfSt = Double.parseDouble(editSt.getText().toString());

    }

    SharedPreferences prefs = getSharedPreferences(
            "SavedTotals", Context.MODE_PRIVATE);

    SharedPreferences.Editor editor = prefs.edit();

    editor.putInt("savedBl", numberOfBl);
    editor.putDouble("savedSt", tonOfSt);

    editor.commit();
}

0voto

John Points 1969

Regardez ce texte https://gist.github.com/john1jan/b8cb536ca51a0b2aa1da4e81566869c4

J'ai créé une classe Preference Utils qui traitera tous les cas.

Sa facilité d'utilisation

Stockage dans la préférence

PrefUtils.saveToPrefs(getActivity(), PrefKeys.USER_INCOME, income);

Obtention de la préférence

Double income = (Double) PrefUtils.getFromPrefs(getActivity(), PrefKeys.USER_INCOME, new Double(10));

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X