如何在Android中获取对象的首选项类型?

我可以使用以下方法从共享首选项中获取String:

sharedPreferences.getString("key_name","default value");

但是,我如何检查key_name是否实际上是一个字符串?

如果它是布尔键值怎么办?

我们可以使用的方法如下:

if(sharedPreferences.isTypeOf(Boolean,"key_name")) {}

解决方法:

如果你知道你会得到一个布尔值,你可以使用

sharedPreferences.getBoolean("key_name",true);

否则你可以做(​​没有测试,基于doc)

Map<String, ?> all = sharedPreferences.getAll();
if(all.get("key_name") instanceof String) {
    //Do something
}
else if(all.get("key_name") instanceof Boolean) {
    //Do something else
}

但您可能想知道您在SharedPrefrence中存储了什么

上一篇:Eclipse查看jdk源码


下一篇:在android中隐藏首选项屏幕