Get an array of Bundle objects from a parcelable array field in a bundle - Android android.os

Android examples for android.os:Bundle

Description

Get an array of Bundle objects from a parcelable array field in a bundle

Demo Code

import java.util.Arrays;

import android.os.Bundle;
import android.os.Parcelable;

public class Main {

  /**/*w  w w  .  jav a 2 s.  c o  m*/
   * Get an array of Bundle objects from a parcelable array field in a bundle.
   * Update the bundle to have a typed array so fetches in the future don't need
   * to do an array copy.
   */
  public static Bundle[] getBundleArrayFromBundle(Bundle bundle, String key) {
    Parcelable[] array = bundle.getParcelableArray(key);
    if (array instanceof Bundle[] || array == null) {
      return (Bundle[]) array;
    }
    Bundle[] typedArray = Arrays.copyOf(array, array.length, Bundle[].class);
    bundle.putParcelableArray(key, typedArray);
    return typedArray;
  }

}

Related Tutorials