Sé que puede pasar una lista de matriz de String por intención, pero ¿y si es una lista de arreglos de algún objeto que definí? Diga una lista de Bicyles, ¿cómo hago esto?Array Lista de objetos a través del intento
Respuesta
Puede hacer que sus objetos implementen Parcelable y usen putParcelableArrayListExtra
. Alternativamente, puede serializar sus objetos de alguna manera y poner la matriz de bytes de sus objetos serializados.
algo de código ejemplo ayudaría – adit
@adit - Para un ejemplo de código de hacer algo Parcelable, mire [docs for Parcelable] (http://developer.android.com/reference/android/os/Parcelable.html). Luego puede usar una ArrayList
teniendo problemas ya que mi objeto tiene un objeto Location, por lo que no sé cómo manejarlo en el método writeToParcel – adit
Este es un ejemplo. MainActivity
envía la lista de personas al OtherActivity
a través del Intent
.
class Person implements Serializable {
int id;
String name;
Person(int i, String s) {
id = i;
name = s;
}
}
public class TestAndroidActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ArrayList<Person> list = new ArrayList<Person>();
list.add(new Person(1, "Tom"));
list.add(new Person(5, "John"));
Intent intent = new Intent(this, OtherActitity.class);
intent.putExtra("list", list);
startActivity(intent);
OtherActivity.java
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Toast;
public class OtherActitity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.other);
Intent i = getIntent();
ArrayList<Person> list = (ArrayList<Person>) i
.getSerializableExtra("list");
Toast.makeText(this, list.get(1).name, Toast.LENGTH_LONG).show();
}
}
Una mejor idea es implementar la interfaz parcelable para el objeto cuyo ArrayList que desea poner en el Ejemplo Intención .Por:
persona clase pública implementa parcelable {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int describeContents() {
return this.hashCode();
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(id);
dest.writeString(name);
}
}
Y luego el código de la aplicación se puede decir:
bundlelableArrayList ("personList", personList);
Eso es lo que dice la primera respuesta. –
Una forma más - puede serializar lista de objetos en una especie de representación de cadena (que sea JSON) y luego recuperar el valor de cadena volver a la lista
// here we use GSON to serialize mMyObjectList and pass it throught intent to second Activity
String listSerializedToJson = new Gson().toJson(mMyObjectList);
intent.putExtra("LIST_OF_OBJECTS", listSerializedToJson);
startActivity(intent);
// in second Activity we get intent and retrieve the string value (listSerializedToJson) back to list
String listSerializedToJson = getIntent().getExtras().getString("LIST_OF_OBJECTS");
mMyObjectList = new Gson().fromJson(objectsInJson, MyObject[].class); // in this example we have array but you can easy convert it to list - new ArrayList<MyObject>(Arrays.asList(mMyObjectList));
- 1. Loop a través del objeto JSON Lista
- 2. Pasar matriz JSON entre actividades a través del intento
- 3. ¿Cómo se itera a través de una lista de objetos?
- 4. Ordenar un array de objetos
- 5. C# enviar objetos de estructura a través del socket
- 6. Loop A través de objetos en Javascript
- 7. Mín./Máx. A través de una matriz de objetos
- 8. Iteración a través de objetos en JsonCpp
- 9. iteración a través de lista de interfaces
- 10. Tamaño del mapa de bits devuelto por la cámara a través de intento?
- 11. Android string-array a Array
- 12. Enviar un objeto a un servicio a través de Intento sin enlace
- 13. Envío de objetos complejos a través de JMS en Java
- 14. java convert object array a int array
- 15. Initialize array en la lista de inicialización del constructor
- 16. Cómo convertir/convertir Lista de objetos a cola de objetos
- 17. Cómo agregar un contacto con nombre y apellido a través del intento
- 18. Transmisión de argumentos a un BroadcastReceiver a través de un Intento en Android
- 19. Pasando Lista de objetos a través de la cadena de consulta al controlador MVC
- 20. añadir objetos de diferente nombre a través de bucle
- 21. convertir la lista de objetos a la lista de interfaces
- 22. StringTemplate - ¿Cómo iterar a través de la lista de objetos comerciales y generar html simple?
- 23. Devuelve una lista de objetos tipeados a través de CreateSQLQuery en NHibernate
- 24. Cómo iterar a través de objetos anidados en JS
- 25. Cómo poner una lista en el intento
- 26. Manipular con punteros a objetos de clases derivadas a través de punteros a clase base objetos
- 27. Pasar objetos identificables a través de las cadenas de constructores
- 28. transformación de la lista <T> a Array (multidimensional)
- 29. NSArray independiente a una lista de objetos de tipo NSString
- 30. Convertir Numpy Array a OpenCV Array
Usted puede tomar una clase estática –