【问题标题】:Android - SharedPrefs using in Fragment [duplicate]Android - 在片段中使用 SharedPrefs [重复]
【发布时间】:2016-04-18 07:59:52
【问题描述】:

我正在尝试使用共享首选项。

我为此创建了一个类-

package com.bscheme.linkkin.utils;

import android.content.Context;
import android.content.SharedPreferences;
import com.bscheme.linkkin.R;

public class SharedDataSaveLoad {

    public static void save(Context context, String key, String value) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(context.getResources().getString(R.string.preference_file_key),Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putString(key, value);
        editor.commit();
    }
    public static void save(Context context,String key, int value) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(context.getResources().getString(R.string.preference_file_key),Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putInt(key, value);
        editor.commit();
    }

    public static String  load(Context context, String key) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(context.getResources().getString(R.string.preference_file_key), Context.MODE_PRIVATE);
        return sharedPreferences.getString(key, "");
    }
    public static int loadInteger(Context context,String key) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(context.getResources().getString(R.string.preference_file_key), Context.MODE_PRIVATE);
        return sharedPreferences.getInt(key, 0);
    }

    public static void remove(Context context,String key){
        SharedPreferences sharedPreferences = context.getSharedPreferences(context.getResources().getString(R.string.preference_file_key),Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.remove(key);
        editor.commit();
    }


}

我有一个片段叫做 - KindomFragment.java

并像这样使用 KindomFragment.java 中的帮助程序类 SharedDataSaveLoad.class -

SharedDataSaveLoad.save(
                        KindomFragment.this,
                        getResources().getString(R.string.shared_pref_key_kingdom_last_updated),
                        String.valueOf(System.currentTimeMillis())
                       );

我得到了这个-

有人可以帮忙吗?

提前感谢您的帮助:)。

【问题讨论】:

  • 片段不是上下文...

标签: android android-fragments sharedpreferences


【解决方案1】:

您需要将Context 作为第一个参数发布

SharedDataSaveLoad.save(
                                        getActivity(),
                                        getResources().getString(R.string.shared_pref_key_kingdom_last_updated),
                                        String.valueOf(System.currentTimeMillis())
                                    );

【讨论】:

  • 谢谢,它正在工作:)
猜你喜欢
  • 2016-04-14
  • 2014-02-15
  • 2017-06-07
  • 2021-09-21
  • 2016-06-29
  • 2017-11-20
  • 2013-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多