Android从另一个类调用首选项

时间:2012-06-06 18:25:33

标签: android preferences

我只是设法删除了我的最后一个问题,所以这里又是。

我有以下课程,我把它们放在一起测试偏好课程。我面临的问题是,当我从偏好类传递或调用时,没有任何反应。代码编译得很好,但我无法获得或设置我的偏好。它似乎卡在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;
}
}

1 个答案:

答案 0 :(得分:0)

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

String location = PreferenceManager.getDefaultSharedPreferences(this).getString("location", "");