0

getSharedPreferences() を使用しようとすると、Eclipse から android.Preference.preference.getSharePreferences() が返されましたが、2 つの引数を持つ contextWrapper のものは返されませんでした。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

以下のコードを確認すると、アプリケーションコンテキストを使用できる1つのことが役立つ可能性があります

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 に答える