0

假设我创建了一个共享偏好。

sp = this.getSharedPreferences("name",MODE_PRIVATE);

如果我在另一个活动中,有没有办法可以找到 sp 的名称并将其设置为字符串?

4

3 回答 3

0

您可以使用您使用的相同方法访问共享首选项。使用公共静态变量来保存类中的名称。

于 2013-05-19T14:42:14.447 回答
0

使用常数。一个public final static String NAME = "the_name";。然后你总是可以将它引用为NameOfTheClassWhereYouPutIt.NAME

于 2013-05-19T14:42:23.040 回答
0

如果您希望在另一个活动中引用给定的共享首选项,您可以在创建新活动时通过其 Intent 将该首选项的字符串键传递给新活动。

如果您只是需要在任何活动中找到某个偏好,您可以遍历所有偏好,并以这种方式访问​​所有键(和值)。

假设您的共享首选项位于变量mySharedPreferences中,获取所有键和值的示例如下:

Map<String,?> preferenceMap = mySharedPreferences.getAll();
for ( Map.Entry<String, ?> keyValPair : preferenceMap.entrySet() )
{
   String key = keyValPair.getKey(); // this is your preference name
   String val = keyValPair.getValue(); // this is your preference value
}
于 2013-05-19T14:47:01.447 回答