Serialisierbares Objekt durch Intent übergeben

Dies ist mein erster Versuch, nach einer Lösung für ein Problem von mir zu fragen. Ich habe zahlreiche Lösungen für Probleme gefunden, mit denen ich mich auf dieser Site befasst habe, indem ich eine einfache Suche durchgeführt habe, aber dieses Mal hatte ich kein Glück, denke ich. Ich habe nichts gefunden, was zu meinem Problem passt, also habe ich eine neue Frage gestellt.

Ich versuche, ein Objekt durch eine Absicht von einer Aktivität zu einer anderen zu leiten. Ich habe eine abstrakte Klasse und zwei Unterklassen (von denen die eine auch abstrakt ist) wie folgt. Ich brauche sie, um abstrakt zu sein. Ich habe eine Menge Code entfernt (abstrakte Methoden usw.), nur um herauszufinden, wo das Problem liegt. Am Ende hatte ich diese wirklich einfachen Klassen und habe immer noch das gleiche Problem.

public abstract class MyObject {

    private boolean New;
    private boolean Modified;

    public MyObject() {
        New = true;
    }

    public boolean isNew() {
        return New;
    }

    protected void setNew(boolean value) {
        New = value;
    }

    protected boolean isModified() {
        return Modified;
    }

    protected void setModified(boolean value) {
        Modified = value;
    }

}

public abstract class MyItemBase extends MyObject {

    private Long Id;
    private String Description;

    public MyItemBase() {
        super();
    }

    public Long getId() {
        return Id;
    }

    public void setId(Long id) {
        Id = id;
    }

    public String getDescription() {
        return Description;
    }

    public void setDescription(String description) {
        Description = description;
    }

}

public class MyItem extends MyItemBase implements Serializable {

    private static final long serialVersionUID = -2875901021692711701L;

    public MyItem() {
        super();
    }

}

Ich habe zwei Aktivitäten, ActivityA mit einer Schaltfläche zum Aufrufen von ActivityB wie folgt.

public class ActivityA extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_a);

        Button btn = (Button) findViewById(R.id.button);
        btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(getApplicationContext(),
                        ActivityB.class);

                MyItem item = new MyItem();
                item.setId((long) 1);
                item.setDescription("test");

                intent.putExtra("MyItem", (Serializable) item);
                startActivityForResult(intent, 1);
            }

        });
    }

}

public class ActivityB extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_b);

        MyItem item = (MyItem) getIntent().getSerializableExtra("MyItem");
        ((TextView) findViewById(R.id.text)).setText(item.getDescription());
    }

}

Wenn ich also MyItem aus der zweiten Aktivität erhalte, ohne dass Fehler auftreten, sind sowohl die Eigenschaften Id als auch die Beschreibung null. Eigentlich ist es ein neues Objekt, weil die New-Eigenschaft wahr ist. Wenn ich jetzt versuche, das Objekt genau zu bekommen, nachdem ich es in der ersten Aktivität so in die Absicht gesetzt habe

intent.putExtra("MyItem", (Serializable) item);
MyItem newItem = (MyItem) intent.getSerializableExtra("MyItem");
startActivityForResult(intent, 1);

es funktioniert gut. newItem verfügt über alle Eigenschaften mit den richtigen Werten.

Irgendwelche Ideen?

Vielen Dank im Voraus an alle!