0

当我尝试使用 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();
.....
4

1 回答 1

0

您可以检查下面的代码可能有助于您可以使用应用程序上下文的一件事

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

还要检查链接共享首选项

于 2012-08-15T06:31:21.273 回答