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();
.....