来自另一个类的 Android 调用首选项



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

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

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

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

相关内容

  • 没有找到相关文章

最新更新