Android: ¿Cómo pasar el objeto Parcelable a la intención y el uso getParcelable método de paquete?

¿Por qué bundle tiene getParcelableArrayList , métodos getParcelable ; Pero Intent sólo tiene putParcelableArrayListExtra método? ¿Puedo transmitir sólo el object<T> , no ArrayList de un elemento? Entonces, ¿para qué es getParcelable ?

Intent proporciona un montón de métodos putExtra () de sobrecarga.

Supongamos que usted tiene una clase Foo implementa Parcelable correctamente, para ponerlo en Intent en una Actividad:

 Intent intent = new Intent(getBaseContext(), NextActivity.class); Foo foo = new Foo(); intent.putExtra("foo ", foo); startActivity(intent); 

Para obtenerlo de la intención en otra actividad:

 Foo foo = getIntent().getExtras().getParcelable("foo"); 

Espero que esto ayude.

 Parcelable p[] =getIntent().getParcelableArrayExtra("parcel"); 

Primero crea Parcelable usando la técnica dada entonces

 public static CreditCardDetail newInstance(CreditCardItemBO creditCardItem) { CreditCardDetail fragment = new CreditCardDetail(); Bundle args = new Bundle(); args.putParcelable(CREDIT_KEY,creditCardItem); fragment.setArguments(args); return fragment; } 

Y conseguirlo como

  if(getArguments() != null) { creditCardItem = getArguments().getParcelable(CREDIT_KEY); } 

dónde

 public static final String CREDIT_KEY = "creditKey"; 

Es importante recordar que sus modelos deben implementar la interfaz Parcelable y el método CREATOR estático. Este caso es para las listas

  private static final String MODEL_LIST = "MODEL_LIST"; public MainFragment() {} public static MainFragment newInstance(ArrayList<YourModel> models) { MainFragment fragment = new MainFragment(); Bundle args = new Bundle(); args.putParcelableArrayList(MODEL_LIST,models); fragment.setArguments(args); return fragment; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (getArguments() != null) { ArrayList<YourModel> models = getArguments().getParcelableArrayList(MODEL_LIST); } } 
  • ¿Por qué algunas veces funciona guardar un Hashtable de objetos no Parcelable en onSaveInstanceState ()?
  • ¿Cómo cambiar el contenido del fragmento al transferir datos del fragmento después de buscar en RecyclerView?
  • Objetos complementarios en las interfaces Kotlin
  • ¿Es posible crear un HashMap que sea Parcelable en Android?
  • ¿Existe una manera conveniente de crear clases de datos Parcelable en Android con Kotlin?
  • Crear una copia del objeto de parcela
  • WriteToParcel () no se llama en los cambios de orientación en Android
  • Limitación de tamaño en adjunto ¿Parcelable?
  • Agregando parcelable a una clase de interfaz para objetos personalizados
  • Pasando un Cursor entre procesos (Cursor Parcelable)
  • Casting objetos a subclases de una superclase Parcelable?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.