Intereting Posts

Возможная реализация с помощью ArrayList <custom-object>

Я думаю, что это просто глупая ошибка, но ArrayList всегда заканчивается null . Это сводит меня с ума, поэтому я подумал, что попрошу о помощи.

Класс объекта:

 import android.os.Parcel; import android.os.Parcelable; public class StoryTag implements Parcelable { private String tagTitle; private int occurrence; public StoryTag() { } public StoryTag(Parcel in) { tagTitle = in.readString(); occurrence = in.readInt(); } public String getTagTitle() { return tagTitle; } public void setTagTitle(String tagstring) { this.tagTitle = tagstring; } public int getOccurrence() { return occurrence; } public void setOccurrence(int occurrence) { this.occurrence = occurrence; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(tagTitle); dest.writeInt(occurrence); } public int describeContents() { return 0; } public static final Parcelable.Creator<StoryTag> CREATOR = new Parcelable.Creator<StoryTag>() { public StoryTag createFromParcel(Parcel in) { return new StoryTag(in); } public StoryTag[] newArray(int size) { return new StoryTag[size]; } }; } 

MainActivity :

 Intent tagIntent=new Intent(this,DisplayTagList.class); tagIntent.putExtra("taglist", taglist); startActivity(tagIntent); return true; 

Приемная деятельность:

 Bundle storyTagBundle = getIntent().getExtras(); ArrayList<StoryTag> listoftags = storyTagBundle.getParcelable("taglist"); 

Спасибо за любую помощь, которую вы можете предложить. Вытащить мои волосы из-за того, что я считаю незначительной ошибкой.

putExtra() и getSerializable() будут хранить и извлекать ArrayList<?> Ваших пользовательских объектов без необходимости выполнения интерфейса. (Ваш пользовательский класс объектов должен реализовывать интерфейс Serializable хотя).

Но в вашем случае вы можете просто использовать putParcelableArrayListExtra(String name, ArrayList<? extends Parcelable> value) и getParcelableArrayListExtra(String name) .

Вы можете получить четкую идею для реализации ArrayList with Parcelable из этого полного примера .