Liste de tableau d'Intention supplémentaire en Java
Je suis en train de sauter de mon ArrayList
par Intent
. Mais je ne trouve pas quoi écrire de plus? Les méthodes que j'obtiens des erreurs comme "non applicable pour la chaîne."
Les Détails De L'Élément:
public class ItemDetails {
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getItemDescription() {
return itemDescription;
}
public void setItemDescription(String itemDescription) {
this.itemDescription = itemDescription;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public int getImageNumber() {
return imageNumber;
}
public void setImageNumber(int imageNumber) {
this.imageNumber = imageNumber;
}
public int getVideoNumber() {
return videoNumber;
}
public void setVideoNumber(int videoNumber) {
this.videoNumber = videoNumber;
}
public void setChild(ArrayList<ItemDetails> item_child)
{
this.item_child = item_child;
}
public ArrayList<ItemDetails> getChild()
{
return this.item_child;
}
public void setParent(ArrayList<ItemDetails> item_parent)
{
this.item_parent = item_parent;
}
public ArrayList<ItemDetails> getParent()
{
return this.item_parent;
}
private String name ;
private String itemDescription;
private String price;
private int imageNumber;
private int videoNumber;
private ArrayList<ItemDetails> item_child;
private ArrayList<ItemDetails> item_parent;
}
Ma classe:
static class ViewHolder {
TextView txt_itemName;
TextView txt_itemDescription;
TextView txt_itemPrice;
ImageView itemImage;
ArrayList<ItemDetails> item_parent;
ArrayList<ItemDetails> item_child;
}
Mon putExtra:
intObj.putExtra("exerciselist",obj_itemDetails.getChild());
GetChild fonction :
public ArrayList<ItemDetails> getChild()
{
return this.item_child;
}
Mais je ne trouve pas comment suis-je censé écrire pour obtenir arrayList?
ArrayList<ItemDetails> child1 = getIntent().?????????
OriginalL'auteur starrystar | 2013-03-31
Vous devez vous connecter pour publier un commentaire.
Réponse courte: vous ne pouvez pas. Vous ne pouvez passer
ArrayList<String>
et ensuite le récupérer avecMais. Si vous souhaitez passer des objets personnalisés via l'Intention de vos objets à mettre en œuvre:
interface Parcelable
ouinterface Serializable
Vous pouvez choisir l'un d'eux. Les deux œuvres mêmes, mais ont différentes implémentations.
Interface Parcelable:
Si vous choisissez l'interface Parcelable, votre
ItemDetails
classe ont à mettre en œuvre Parcelable. Ensuite, vous pouvez mettre commeet de les récupérer:
Je ne vais pas vous écrire Parcelable mise en œuvre car elle nécessite un peu plus de code. Voici bel exemple.
L'interface Serializable:
Si vous choisissez l'interface Serializable je vous suggère de créer une classe nommée par exemple ItemDetailsWrapper qui va envelopper votre
ArrayList(s)<ItemDetails>
Les deux c'est à dire ItemDetailsWrapper et ItemDetails classe à implémenter l'interface Serializable. Vous êtes maintenant en mesure de passer par l'intermédiaire de l'Intention comme ceci:
Exemple de mise en œuvre:
Et comment le transmettre par le biais d'Activités:
merci mon pote.
Parfait mettre & obtenir la liste de tableau !!!!
Lors de la sélection Parcelable ou Serializable garder présent à l'esprit que Serializable est plus lent que Parcelable
Parfait explication 😀
OriginalL'auteur Simon Dorociak