如何在sharedpreferences中传递值并在新活动中存储在数组中

时间:2015-02-02 18:22:23

标签: android

我在listview中有一个城市列表。单击列表项我希望将此值存储在sharedpreferences中并进入新活动。在此活动中,要将此值隐藏在数组中。我想在每个设备中制作一个世界时钟。

1 个答案:

答案 0 :(得分:0)

使用SharedPreferences的好处是它们可以在应用程序的上下文中全局访问 - 您不需要"传递"他们身边。此外,您可以使用putStringSet SharedPreferences方法很好地处理此问题。在onClick方法中,只需按以下方式保存您的城市:

Set<String> cityList = new HashSet<String>();
cities.add("City1");
cities.add("City2");
// Repeat for all cities in your list...
SharedPreferences sharedPreferences = getSharedPreferences("yourPreferences", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences .edit();
editor.putStringSet("cityList", cityList);
editor.commit();

然后,当您希望检索新Activity中的城市时,只需使用以下代码:

SharedPreferences sharedPreferences = getSharedPreferences("yourPreferences", Activity.MODE_PRIVATE);
Set<String> cityList = sharedPreferences.getInt("cityList", new Set<String>());