Elements & Fire - 8.2.88.1865
Java SDK - 1.8.0_60-b27
Android SDK - 5.0.1 (API 21)
Targeting API level 21, minimum SDK level 15
It seems that, on my machine anyway, only some of the documented APIs are available for Bundles. Hitting Command-D on top of the Bundle! keyword in my code reveals the list of APIs that are accessible. My work around has been to use alternative datatypes to pass my information in a bundle. Notice that putStringArrayList is available and works fine. putString however does not show up in the definition and crashes. I’ve also confirmed that putChar and putFloat work fine, but putInt does not.
Here is the Bundle definition that I see when hitting command-D. Interestingly, the missing methods like putString and putInt do appear in the auto-complete.
public final class android.os.Bundle : BaseBundle, Cloneable, Parcelable {
internal init()
public init(<init> b: PersistableBundle!)
public init(<init> b: Bundle!)
public init(<init> capacity: Integer!)
public init(<init> loader: ClassLoader!)
public init()
public func setClassLoader(loader: ClassLoader!)
public func getClassLoader() -> ClassLoader!
public func clone() -> Object!
public func clear()
public func putAll(bundle: Bundle!)
public func hasFileDescriptors() -> Boolean!
public func putByte(key: String!, _ value: SByte!)
public func putChar(key: String!, _ value: Char!)
public func putShort(key: String!, _ value: SmallInt!)
public func putFloat(key: String!, _ value: Single!)
public func putCharSequence(key: String!, _ value: CharSequence!)
public func putParcelable(key: String!, _ value: Parcelable!)
public func putSize(key: String!, _ value: Size!)
public func putSizeF(key: String!, _ value: SizeF!)
public func putParcelableArray(key: String!, _ value: Parcelable![])
public func putParcelableArrayList(key: String!, _ value: ArrayList<Parcelable!>!)
public func putSparseParcelableArray(key: String!, _ value: SparseArray<Parcelable!>!)
public func putIntegerArrayList(key: String!, _ value: ArrayList<Integer!>!)
public func putStringArrayList(key: String!, _ value: ArrayList<String!>!)
public func putCharSequenceArrayList(key: String!, _ value: ArrayList<CharSequence!>!)
public func putSerializable(key: String!, _ value: Serializable!)
public func putByteArray(key: String!, _ value: SByte![])
public func putShortArray(key: String!, _ value: SmallInt![])
public func putCharArray(key: String!, _ value: Char![])
public func putFloatArray(key: String!, _ value: Single![])
public func putCharSequenceArray(key: String!, _ value: CharSequence![])
public func putBundle(key: String!, _ value: Bundle!)
public func putBinder(key: String!, _ value: IBinder!)
public func getByte(key: String!, _ defaultValue: SByte!) -> Byte!
public func getByte(key: String!) -> SByte!
public func getChar(key: String!, _ defaultValue: Char!) -> Char!
public func getChar(key: String!) -> Char!
public func getShort(key: String!, _ defaultValue: SmallInt!) -> SmallInt!
public func getShort(key: String!) -> SmallInt!
public func getFloat(key: String!, _ defaultValue: Single!) -> Single!
public func getFloat(key: String!) -> Single!
public func getCharSequence(key: String!, _ defaultValue: CharSequence!) -> CharSequence!
public func getCharSequence(key: String!) -> CharSequence!
public func getSize(key: String!) -> Size!
public func getSizeF(key: String!) -> SizeF!
public func getBundle(key: String!) -> Bundle!
public func getParcelable<T>(key: String!) -> T!
public func getParcelableArray(key: String!) -> Parcelable![]
public func getParcelableArrayList<T>(key: String!) -> ArrayList<T!>!
public func getSparseParcelableArray<T>(key: String!) -> SparseArray<T!>!
public func getSerializable(key: String!) -> Serializable!
public func getIntegerArrayList(key: String!) -> ArrayList<Integer!>!
public func getStringArrayList(key: String!) -> ArrayList<String!>!
public func getCharSequenceArrayList(key: String!) -> ArrayList<CharSequence!>!
public func getByteArray(key: String!) -> SByte![]
public func getShortArray(key: String!) -> SmallInt![]
public func getCharArray(key: String!) -> Char![]
public func getFloatArray(key: String!) -> Single![]
public func getCharSequenceArray(key: String!) -> CharSequence![]
public func getBinder(key: String!) -> IBinder!
public func describeContents() -> Integer!
public func writeToParcel(parcel: Parcel!, _ flags: Integer!)
public func readFromParcel(parcel: Parcel!)
public func toString() -> String!
public static var CREATOR: Parcelable.<Bundle!>!
public static var EMPTY: Bundle!
public override var ClassLoader: ClassLoader!
public override subscript Byte(key: String!, _ defaultValue: SByte!) -> Byte!
public override subscript Byte(key: String!) -> SByte!
public override subscript Char(key: String!, _ defaultValue: Char!) -> Char!
public override subscript Char(key: String!) -> Char!
public override subscript Short(key: String!, _ defaultValue: SmallInt!) -> SmallInt!
public override subscript Short(key: String!) -> SmallInt!
public override subscript Float(key: String!, _ defaultValue: Single!) -> Single!
public override subscript Float(key: String!) -> Single!
public override subscript CharSequence(key: String!, _ defaultValue: CharSequence!) -> CharSequence!
public override subscript CharSequence(key: String!) -> CharSequence!
public override subscript Size(key: String!) -> Size!
public override subscript SizeF(key: String!) -> SizeF!
public override subscript Bundle(key: String!) -> Bundle!
public override subscript ParcelableArray(key: String!) -> Parcelable![]
public override subscript Serializable(key: String!) -> Serializable!
public override subscript IntegerArrayList(key: String!) -> ArrayList<Integer!>!
public override subscript StringArrayList(key: String!) -> ArrayList<String!>!
public override subscript CharSequenceArrayList(key: String!) -> ArrayList<CharSequence!>!
public override subscript ByteArray(key: String!) -> SByte![]
public override subscript ShortArray(key: String!) -> SmallInt![]
public override subscript CharArray(key: String!) -> Char![]
public override subscript FloatArray(key: String!) -> Single![]
public override subscript CharSequenceArray(key: String!) -> CharSequence![]
public override subscript Binder(key: String!) -> IBinder!
}