相关疑难解决方法(0)

SharedPreferences Android中的NullPointerException

我第一次使用sharedPreferences,我似乎无法通过此错误.我有一个子菜单,应该允许用户设置他们的区域.这应该打开正确的区域活动,并在再次打开应用程序时进行存储和调用.我已经多次转圈,所以有些代码会有点奇怪.我一直专注于从美国(默认)改为英国.

在DDMS中,我得到了这个:

05-13 11:22:39.344: ERROR/AndroidRuntime(960): java.lang.NullPointerException
05-13 11:22:39.344: ERROR/AndroidRuntime(960):     at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:146)
05-13 11:22:39.344: ERROR/AndroidRuntime(960):     at com.silifeform.android.Prefs.editRegion(Prefs.java:29)
05-13 11:22:39.344: ERROR/AndroidRuntime(960):     at com.silifeform.android.dog.onOptionsItemSelected(dog.java:344)
Run Code Online (Sandbox Code Playgroud)

我的代码是这样的:

public class Prefs extends Activity {
public static final String PREFS_NAME="LocalePrefs";
private String region;
public boolean isUk;
public boolean isUs;
public boolean isEu;

@Override
protected void onCreate(Bundle state) {
    super.onCreate(state);

    //restore prefs
    SharedPreferences settings= getSharedPreferences(PREFS_NAME,0);
    String myRegion = settings.getString(region,"us");

    this.region=myRegion;
    changeLocale(getRegion());
}

public void editRegion(String sregion) {
// The error occurs here:
    SharedPreferences settings = getSharedPreferences(PREFS_NAME,0);
    SharedPreferences.Editor ed …
Run Code Online (Sandbox Code Playgroud)

android nullpointerexception sharedpreferences

12
推荐指数
2
解决办法
3万
查看次数