Pase Arraylist en Actividad a Fragmento
Tengo MyClass implementa Parcelable. Y tienen 2 fragmentos. En MainActivity (onCreate) tengo código:
ArrayList<MyClass> data = new ArrayList<MyClass>(); ............ Bundle extras1 = new Bundle(); extras1.putParcelableArrayList("arraylist", data); Tab1Fragment fg = new Tab1Fragment(); fg.setArguments(extras1);
Y en Fragmento (onCreateView):
- Parcelable y herencia en Android
- Android parcelable referenciando otra dependencia circular parcelable
- ¿Cómo ordenar y unmarshall un parcelable a un arsenal del byte con la ayuda del paquete?
- ¿Es posible crear un HashMap que sea Parcelable en Android?
- Herencia parcelable: clase abstracta - ¿QUÉ CREADOR?
Bundle extras = getArguments(); ListView list = (ListView) content.findViewById(R.id.lvMain); if (extras != null) { data = extras.getParcelableArrayList("arraylist"); list.setAdapter(new MyAdapter(getActivity(), data)); }
Pero extras alway null.why? 🙂
- ¿Cómo cambiar el contenido del fragmento al transferir datos del fragmento después de buscar en RecyclerView?
- Android JUnit no se compila si los objetos son parcelables
- Pasar lista de objetos complejos de actividad a fragmento
- No se puede pasar el objeto personalizado en un intento: El método Poner extra es ambiguo para el tipo Intención
- Cómo definir parcelable de tipo de interfaz en el archivo .aidl?
- Android Parcelable y objeto que pasa por referencia
- Lectura y escritura de matriz de números enteros a paquete
- Problema en la implementación de Parcelable conteniendo otros Parcelable
Su código proporcionado parece estar bien. Sospecho que el problema es de cómo implementas MyClass. Una implementación típica de Parcelable es algo como esto (tomado de google)
public class MyParcelable implements Parcelable { private int mData; public int describeContents() { return 0; } public void writeToParcel(Parcel out, int flags) { out.writeInt(mData); } public static final Parcelable.Creator<MyParcelable> CREATOR = new Parcelable.Creator<MyParcelable>() { public MyParcelable createFromParcel(Parcel in) { return new MyParcelable(in); } public MyParcelable[] newArray(int size) { return new MyParcelable[size]; } }; private MyParcelable(Parcel in) { mData = in.readInt(); }
- Aplicación Android PlusClient y obtención de un token
- Tratamiento de fragmento y ver paginador: no se puede cambiar la etiqueta de fragmento AND Entrada recursiva para ejecutarPendingTransactions