如何在dialogpreference类中使用getSharedPreferences(String,int)?

时间:2012-08-15 05:11:55

标签: android

当我尝试使用getSharedPreferences()时,eclipse给了我android.Preference.preference.getSharePreferences()一个,但不是来自contextWrapper的那个有2个争论的那个。我试图包含整个名称,即android.content.ContextWrapper.getSharedPreferences(null,0),但仍然不起作用,eclipse表示无法对非静态引用静态引用。 任何的想法?我在调用其他类中有2个参数的问题时没有任何问题,例如活动。

public class DialogExPreference extends DialogPreference implements DialogInterface.OnClickListener
{
    SharedPreferences settings;
    @Override
    public void onClick(DialogInterface dialog, int which)
    {
        if(which==-1)
        {
            if(!pw1.getText().toString().equals("")&&!pw2.getText().toString().equals(""))
            {

                if(pw1.getText().toString().equals(pw2.getText().toString()))
                {
                     settings =getSharedPreferences();// android.content.ContextWrapper.getSharedPreferences(null, 0);
                     Editor editor = settings.edit();
                     editor.putString("password", pw1.getText().toString());
                     editor.commit();                    


                    Toast.makeText(getContext(), "Password Saved", Toast.LENGTH_SHORT).show();
.....

1 个答案:

答案 0 :(得分:0)

您可以查看以下代码可能有助于您可以使用应用程序上下文

SharedPreferences preferences = getPreference("name_of_pref",MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();

另请查看链接Shared Preferences