使用内部类的共享preferences [英] Use sharedpreferences inside class

查看:124
本文介绍了使用内部类的共享preferences的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是类中我的共享preferences有问题。我的code和程序流程:

I am having a problem using my shared preferences inside a class. My code and program flow:

我有一个微调里面我activity.I我实现我自己的OnItemSelectedListener是这样的:

I have a Spinner inside my activity.I am implementing my own OnItemSelectedListener like this:

MyOnItemSelectedListener.java

public class MyOnItemSelectedListener implements OnItemSelectedListener  {
     SharedPreferences pref;
     Editor editor;

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
        //parent.setSelection(7);
        Toast.makeText(parent.getContext(), "Selected Country : " + parent.getItemIdAtPosition(pos), Toast.LENGTH_SHORT).show();
    }
    @Override
    public void onNothingSelected(AdapterView<?> parent) {

    }
}

我把上面的类从我的活动是这样的:

I call the above class from my activity like this:

spinner1 = (Spinner) findViewById(R.id.spinner1);
spinner1.setOnItemSelectedListener(new MyOnItemSelectedListener());

到目前为止good.What我要的是节省 spinner1 所选项目到用户的preferences(从保存的值设置)。

So far so good.What i want is to save the selected item on spinner1 to the user's preferences(and set it from saved value).

一个活动里面我用我的共享preFS是这样的:

Inside an activity i am using my shared prefs like this:

preF = getApplicationContext()getShared preferences(我的preF,0);

但上下文不存在在类中!任何帮助检索/保存preF当用户选择的微调中的项目?

but inside the class the context doesn't exists! Any help retrieving/saving pref when the user selects an item on the spinner?

感谢您!

推荐答案

为您的听众一个构造函数和传递上下文来的:

Create a constructor for your listener and pass a Context to it:

public class MyOnItemSelectedListener implements OnItemSelectedListener  {
    SharedPreferences pref;
    Editor editor;

    public MyOnItemSelectedListener(Context context) {
        pref = context.getSharedPreferences("MyPref", 0);
    }

    // rest of your code
}

这篇关于使用内部类的共享preferences的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆