0

我只是无意中删除了我的最后一个问题,所以又来了。

我有以下课程,我将它们拼凑在一起以测试首选项课程。我面临的问题是,当我从首选项类传递或调用时,什么也没有发生。代码编译得很好,但我无法获取或设置我的偏好。它似乎被卡住了,SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);因为我使用了一些打印语句来查看它停止的位置。我已经尝试在 android 网站上使用该示例,但这并没有帮助。有人有什么想法吗?

public class Preferences extends Activity{

public void getSetPrefs(){

    Preferences p = new Preferences();

    p.setLocationPref("london", "1");

    String location = p.getLocation();
    String location_id = p.getLocation();

}
}

//首选项类

public class Preferences extends Activity{

    /** Sets location preferences */
public void setLocationPref(String location, int location_id){

    SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putString("location", location);
    editor.putInt("location_id", location_id);
    editor.commit();
}

/** Get location from preferences */
public String getLocation(){

    SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
    String location = sharedPreferences.getString("location", "");

    return location;
}

/** Get location ID from preferences */
public int getLocationID(){

    SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
    int locationID = sharedPreferences.getInt("location_id", 0);

    return locationID;
}
}
4

1 回答 1

0

我总是通过如下调用来检索首选项:

String location = PreferenceManager.getDefaultSharedPreferences(this).getString("location", "");
于 2012-06-06T20:21:26.490 回答