如何在我的班级中使用共享首选项

时间:2017-01-10 19:04:54

标签: android sharedpreferences

我想在Meghdar.java中使用共享偏好设置这是我的代码,但它不起作用。

public class Meghdar {

private final Context context;
SharedPreferences sp;
String Text;

public Meghdar(Context context) {
    super();
    this.context = context;
    sp = context.getApplicationContext ().getSharedPreferences("AppPreferences", Activity.MODE_PRIVATE);

    Text = sp.getString ("text",null);
}}

5 个答案:

答案 0 :(得分:1)

将其更改为:

public class Meghdar {

    SharedPreferences sp;
    String text;

    public Meghdar(Context context) {
        super();
        sp = context.getSharedPreferences("AppPreferences", Context.MODE_PRIVATE);

        text = sp.getString("text", "");
    }
}

答案 1 :(得分:0)

更改为:

WIN32

答案 2 :(得分:0)

只需删除getApplicationContext()

即可

上下文适用于getActivity和getApplicationContext。

你不能同时使用它们。

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);

你的代码中的

应该是这样的

sp = context.getSharedPreferences("AppPreferences",context.MODE_PRIVATE);

答案 3 :(得分:0)

三种方法的示例:

function Penguin(name) {
    this.name = name;
    this.numLegs = 2;
}

var emperor = new Penguin("emperor");

答案 4 :(得分:0)

非常感谢我改变它,但它不起作用。 我也在我的MainActivity.java中使用此代码 也许这里的错误请看(它停止了)

String a = editTextM.getText ().toString ();
                sharedPreferences = getApplicationContext ().getSharedPreferences ("userB", 0);
                editor = sharedPreferences.edit ();
                editor.putString ("text", a);
                editor.commit ();
                Toast.makeText (getApplicationContext (), "با موفقیت ذخیره شد.", Toast.LENGTH_LONG).show ();
                finish ();
                startActivity (getIntent ());