我刚刚注意到,虽然大多数来自Bundle的getter可能包含默认值,但如果该特定bundle实例中不存在该键,那么getString就没有这种可能性,如果是这样的话返回null.
任何关于为什么是这样的想法,如果有一些方法可以轻松解决(简单的说,我的意思是不必检查每个单独的值或扩展Bundle类).
例如,现在你只有这样:
bundle.getString("ITEM_TITLE");
虽然我想做:
bundle.getString("ITEM_TITLE","Unknown Title");
谢谢!
解决方法
你必须自己包装:
public String getBundleString(Bundle b,String key,String def) { String value = b.getString(key); if (value == null) value = def; return value; }