如果我尝试编写此方法
public static void saveDefaultUser() {
Editor pName = PreferenceManager
.getDefaultSharedPreferences(getBaseContext())
.edit();
pName.putString("Name", name);
pName.commit();
}
无法编译,我必须删除 静态 值, 因为很明显我不能对非静态方法进行静态引用。
是否有办法使其适用于静态方法?
答案 0 :(得分:4)
您必须将Context
传递给您的方法并使用该方法而不是getBaseContext()
。
public static void saveDefaultUser( Context cntxt ) {
Editor pName = PreferenceManager
.getDefaultSharedPreferences(cntxt)
.edit();
pName.putString("Name", name);
pName.commit();
}